基于Arm开发的linux嵌入式系统,RS485串口读写通讯中,板子对该串口做写 *** 作可以,读 *** 作读不到东西!

基于Arm开发的linux嵌入式系统,RS485串口读写通讯中,板子对该串口做写 *** 作可以,读 *** 作读不到东西!,第1张

打uart脚 看输出的数据是否是9600频率

既然你已经说uart有数据输出 但是收不到 那应该是频率不对

可能是你arm板载clock有误差神码的。

测一下吧

先 连接成一个 485通信线路,如

电脑串口===RS232转485==485线缆==RS485转232===电脑串口

然后 2端 用串口调试助手互发数据,看对方能否正常收发

请看 武汉鸿伟光电

E485B RS232/RS485有源隔离转换

RS232是全双工,可以同时收发,RS485是半双工,不能同时收发。它需要两个口线来控制当前通信是收还是发。收发的程序与232串口通信的程序是完全一样的,只要注意在收发前,进行收发状态的转换。

如果你是嵌入式linux开发,你需要为这两个口线写个简单的驱动程序。

如果你是PC机上的linux,你可以用RS232转RS485的接口模块来进行232到485的转换,这样,你的串口程序不需什么任何修改。但要注意,此种模块要利用RS232的流量控制信号来进行收发的转换,所以,它只能插在9线的RS232口中使用,而不能用于3线制的RS232口


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7175421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存