使用串口3做485收发不正常。

2019-07-20 08:00发布

本帖最后由 asimo2010 于 2018-5-23 17:06 编辑

本人使用stm32f407  做了个项目,自己的板子上485芯片使用的是MAX487ESA,。
在调试过程中发现,9600bps和14400bps本人的板子收发正常,但是只要超过14400bps,就会出现485接收错误
本来应该接收“00 00 00 00 00 00 00 00 02 FF 00 00 00 00 B6 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4C”
实际上接收到“00 00 12 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00”
485程序是仿照原子程序写的,由串口2改为串口3.
请各位不吝赐教!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
asimo2010
1楼-- · 2019-07-20 12:22
查看寄存器的时候 发现LINEN没开但是  LBD总是莫名的被置1(9600bps和14400bps没有)。  LBD:LIN断开检测(LIN Break Detect)当探测到LIN断开时,该位由硬件置’1’,由软件清’0’(向该位写0)。如果USART_CR3中的LBDIE = 1,则产生中断。
asimo2010
2楼-- · 2019-07-20 15:17
 精彩回答 2  元偷偷看……

一周热门 更多>