关于485收数据的问题
- 关于目前做的一个stm32的项目中发现485发送的数据总是接收不到的问题
-
- 问题分析
关于目前做的一个stm32的项目中发现485发送的数据总是接收不到的问题
问题分析
软件方面:通过初始化引脚拉高拉低来发送数据,通过中断来接收数据
硬件方面:采用 SP485芯片
问题现象:485总能正常的发送数据,但是由一个主机发往从机的数据总有概率接收不到,一主机一从机时发送数据接收不到的概率大概为 三分之一,具体是第一个字节数据丢失,发送给两个从机数据的间隔为 250ms,第一个字节丢失的概率就变得很高可能为百分之50;
查阅过很多资料,发现可能是芯片在发送的时候如果接收中断可能会导致芯片来不及反应,我在从机接收数据之后加上了延时 50ms 处理,但是结果依然不尽如人意,现在目前问题正在解决中,期待解决
##更新
原因找到了,就是这5ms的锅,由于我是在定时器中做的收发485的动作,所以加了这5ms的延时会导致程序及其不稳定,去掉延时并且收发数据改为串行,这样效率和成功率都有极大的改善
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!