stm32做rs485通信,stm32做rs485通信...问题能不能具体点?stm32485主机怎么判断从机无应答stm32485主机发送读取或写入命令判断从机有无应答。2018-10-22使用SN75176(RS485项目中使用STM32UART连接SN75176与外界实现485通讯,通过一个单独GPIO管脚控制485传输方向(DE/RE),UART设置为波特率9600,数据位8,停止位1,校验位0。
1、STM32怎么支持RS485接口和MODBUS通信协议RS485需要你自己加个ZT485芯片,再接上STM32的串口,加个GPIO控制其收发;至于MODBUS协议,它跟STM32本身没关系,需要你自己看MODBUS的文档用STM32的串口实现;估计你对接的是485接口的传感器,它用的MODBUS可能跟标准的还会有差异,具体看你接的传感器命令说明手册。
2、2018-10-22使用SN75176(RS485项目中使用STM32UART连接SN75176与外界实现485通讯,通过一个单独GPIO管脚控制485传输方向(DE/RE),UART设置为波特率9600,数据位8,停止位1,校验位0。通讯过程中发现向串口输出一组数据后,UART中断总会接收到一个字节0x00,而上位机并未发送任何数据。示波器追踪信号发现当SN75176发送数据时,即DE(PIN3)有效时,R(PIN1)端为低电平,当发送完成切换为RE(PIN2)有效时,同时R(PIN1)由低电平转换为高电平。
根据波形猜测UART将R(PIN1)端的最后一部分识别为一个字节0x00。解决办法:由于RS485本来就是半双工通讯,在发送时不可能有数据接收,因此需要在发送数据时关闭UART接收中断,直到发送完成,DE切换为RE有效,做一次读数操作以清除中断标志位(该数据舍弃),然后打开UART接收中断。
3、stm32485主机怎么判断从机无应答stm32485主机发送读取或写入命令判断从机有无应答。1、对于7位地址的从机来说,将7位的从机地质左移一位,再加上读或写的数据。2、根据从机数据手册所给的从机地址发送后从机并无应答,从机地址错误,可以从0乘以00开始,每次加1,递增发送读取命令,直到从机应答,获得从机地址。
4、stm32做rs485通信,MCU可以接收数据,但不能发数据?stm32做rs485通信...问题能不能具体点?是完全没有接收数据还是接收数据是错误的?RS485通讯编程要注意TX/RX切换的时间点。如果切换时间点不合适就会导致没数据或者数据收发错误,你用的是单片机的uart来实现数据收发,这就要注意uart的发送完毕的状态标志不一定表明uart硬件已经万万完全发完电平信号,很可能数据还在uart的发送寄存器中进行某个位信号的发送,这个时候你切换了RS485芯片的TX/RX状态,那么就会导致数据发送不出去。