
- freemodbus的波特率问题 在移植完freemodbus之后,尝试了一下进行通讯,发现上位机先是显示Timeout error,根据网上的建议,将#define RT_TICK_PER_SECOND这个值调整到1000,但是依旧没有效果(这里的CPU主频是72Mhz)。 在看到一篇帖子说可能是usTimerT35_50us的问题时间过快导致来不及判断于是我将他调大,直接给了350,上位机显示Checksum error,这个是校验错误 然后又看了一个帖子,说在vMBPortSerialEnavle(BOOL xRxEnable ,BOOL xTxEnable)这个函数中,切换485控制引脚的时候要进行时间延时,我添加了rt_hw_us_delay();这个函数进行延时,发现可以读到寄存器了,但是这时候我将读取寄存器的个数变成10个,马上又变成了Checksum error。 在后面突然灵感一闪,怎么只有写的时候有延时,读的时候没有延时,要切换引脚,两个都要有延时
加完之后,把之前的usTimerT35_50u调回来,不需要延迟那么多,然后10个寄存器也能读写了。
加完之后,把之前的usTimerT35_50u调回来,不需要延迟那么多,然后10个寄存器也能读写了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/167531.html