AM335X下Linux驱动 485串口 只能收不能发 问题的解决

小弟刚拿到am335的开发板。最近在做linux驱动移植,Kernel版本3.14.26,这两天移植485和232的驱动也就是Ti公司的omap-serial.c文件。

由于电路板上232和485是硬件支持切换的,485的rts管脚不需要在dts上配置。

移植之后,连接电脑做对发测试。


由于手里的转接线有限,只能像如下方式连接电脑

连接图为:
                                                                                                                                                                               


rs485的连发和上图一样。
rs232的连发是上图去掉中间的rs485转232转换器。

结果rs232可以正常通信。
切换为rs485时可以收到电脑发来的数据,发不出数据。

断开接线后,用示波器测试db9公口,波形正常。


后面无意中发现  “母口   串口线   母口” 输入1,2脚的波形,在输出的时候变为1,3脚。
去掉它,直接用杜邦线连接后,rs485就可以正常通信了,不过AM335发送的数据还是会回显在自己的microcom中,原因还不太清楚。

注意这根 “母口   串口线   母口” 是232用的,485不能使用!!
因为232的TX,RX是2,3脚,485的TX1,TX2是1,2脚,所以母口对母口的转接线是不能混用的!!

请不要随便拿一根串口线来做485/232的测试,因为它可能会把你坑出翔,希望能帮到大家。


最后必须吐槽一下win10的输入法实在是太难用了,码这些字都费劲。c =。=|||b


猜你喜欢

转载自blog.csdn.net/a827143452/article/details/78609252