最近一个项目中用到RS485通讯,三个从机都连接到STM32的同一个485主机,但调试发现在主机接收从机的数据时,总是在第一个字节前面多收到一个0x00,但程序找不到任何问题。上网查了下,发现很多人都遇到过这样的问题,解决方法大概有以下三种:
(1)控制器连了J-Link,下载程序后把J-link拔掉就好了。
(2)导线问题,换一根485通讯的导线就行了。
(3)在485发送数据的时候,禁止接收数,发送完成后,再使能接收,问题解决。
以上三种方法我都试了一下,只有第三种有效,问题得以解决。但其他两种方法论坛里说也有人成功过。