首页 > 其他分享 >STM32笔记(3) RS485&MODBUS

STM32笔记(3) RS485&MODBUS

时间:2023-07-14 11:25:37浏览次数:36  
标签:MODBUS 主机 RS485 通信 发送 STM32 从机 modbus

RS485通信以及modbus通信协议

硬件层:

rs485解决的是数据传输的问题,

如何将0/1 传输到另一端

主机或从机将TTL电平通过485芯片转换成差分信号 抗干扰能力强,传输距离远

485芯片中集成了发送器和接收器:连接单片机io引脚通过高低电平来决定是发送方 还是 接收方

两线半双工

软件层:

modbus解决的是数据传输的含义和意义

可以挂载多个从机

  只有一个是主机:主从通信
  系统上电所有设备都处于监听(接收状态) 总线状态
  从机不能主动向主机发送数据 必须是主机主动发起通信

通信机制:主机轮询 从机应答
主机首先切换为发送模式 发送数据包
立即转换为接收模式 接受来自从机的应答数据
通信报文:
地址码:区分不同从机
功能吗:
数据区:发送或接受的数据
校验码:校验正确性

标签:MODBUS,主机,RS485,通信,发送,STM32,从机,modbus
From: https://www.cnblogs.com/lmkjava/p/17553189.html

相关文章

  • STM32:rtthread_消息队列
    1消息队列  消息队列是一种常用的线程间异步通讯方式;   消息队列能够接收来自线程或中断中不固定长度的消息,并把消息缓存在自己的内存空间中,供线程间进行异步通讯;  1.1结构体定义//rtconfig.h源码默认注释掉未开启,用到消息队列的时候需要自己开启;#defineRT_USI......
  • STM32笔记(3) 按键驱动
    include"key.h"defineKEY1(GPIOA->IDR&(0X1<<0))defineKEY2(GPIOC->IDR&(0X1<<4))defineKEY3(GPIOC->IDR&(0X1<<5))defineKEY4(GPIOC->IDR&(0X1<<6))voidKEY_Config(void)//key1按键{......
  • STM32笔记(2)时钟源 NOP延时
    时钟用哪个外设就要开他对应的时钟例子:RCC->APB2ENR|=(0x01<<3);//时钟需要在APB2上开启对应的时钟拓展:系统时钟如何配置staticvoidSetSysClockTo72(void){__IOuint32_tStartUpCounter=0,HSEStatus=0;/*SYSCLK,HCLK,PCLK2andPCLK1configuration----......
  • STM32笔记 晶振 GPIO 寄存器
    晶振:在各种电路中,产生震荡频率的元器件(频率越高,单片机运行的速度越快)。2个外部:通过晶振高速:HSE--4~16MHz(咱们使用8MHz)--整个单片机提供时钟低速:LSE--32.768KHz--RTC提供(实时时钟)2个内部:通过RC振荡电路高速:HSI--8MHz低速:LSI--40KHz--看门狗定时器GPIO:管......
  • stm32cubemx
    一、STM32CubeMX是干嘛的?STM32CubeMX是ST意法半导体近几年来大力推荐的STM32芯片图形化配置工具,目的就是为了方便开发者,允许用户使用图形化向导生成C初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32全系列芯片。二、如何安装STM32Cu......
  • STM32:rtthread_f1移植
    本文开始移植rtthread的代码到正点原子的板子上;参考资料为野火的教程,需要搭配野火教程使用;使用源码是作为pack包放在arm-keil官网下载的nano3.0.3版本;nano版本精简方便解构;gittee上的master版本组件又多又杂不利于初学;本来想用3.1.5版本源码的,但是移植过程会有代码报错又莫名其......
  • [STM32]STM32双机串口通信
    [STM32]STM32双机串口通信上一篇的通信方案在发送端高强度通信下寄了,发现是函数HAL_UART_Transmit()的锅,一个函数居然能跑0.3s左右。。。于是打算选用DMA收发数据,但是DMA在接收数据时遇到一些玄学问题,于是改用DMA发送数据,串口IDLE中断接收数据的策略。cubeMX配置接收端部分开......
  • [STM32 HAL]一种可能不错的DMA处理串口数据方案
    [STM32HAL]一种可能不错的DMA处理数据方案原文链接:https://blog.csdn.net/youmeichifan/article/details/51750435?spm=1001.2014.3001.5506本文配置稍有不同,大体类似。MX配置开启USART1,使能USART1全局中断,打开RX,TX的DMA通道,均为normal模式,内存地址自增,使能TX对应DMA的中断,RX......
  • [STM32]STM32双机蓝牙串口通信
    [STM32]STM32双机蓝牙串口通信期末考完力,虽然GPA--,但也终于有空搓一搓32了蓝牙模块配置我们先配置蓝牙模块,需要主从兼容,配置过程可以参考这个博客:https://blog.csdn.net/m0_59113542/article/details/122028037?spm=1001.2014.3001.5506cubeMX配置然后就是MX里的配置。PS:两......
  • 使用STM32的usb虚拟串口CDC_Transmit_FS打印freertos的任务列表vTaskList
    创建一个任务,打印信息后,把自己删除/*USERCODEENDHeader_func_showSysInfo*/voidfunc_showSysInfo(voidconst*argument){/*USERCODEBEGINfunc_showSysInfo*//*Infiniteloop*/for(;;){osDelay(1000);chartaskList[200];......