打印
[技术问答]

关于M0516的uart外接485芯片时发送和接受切换的问题

[复制链接]
697|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2021-12-28 17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

大家好,最近遇到一个问题,还望高手给予解惑。我用M0516为cpu做了一个主站,用来给一个成型的从站发送命令,485介质通信,用一个io口连接485芯片的RE和DE端来控制发送和接受的切换,开始设置为发送状态,发送一串报文给从站,经过监测,发送的报文没有问题,然后由io口切换成接收状态,按理说从站会反馈一串报文回来,但是主站却收不到任何报文,也没能监测到从站发回的报文。从站没有问题,主站发出的报文也没有问题,因为我用模拟上位机对从站发出相同的报文,从站是有回应的,至于为什么这里主站收不到,我就怀疑是从站回应的太快,导致我还没来得及将485从发送状态切换成接收状态,自然也就收不到从站的回应,而监测不到从站发出的回应大概是因为这时主站的485还处于发送状态。于是我想到可能是发送和接受切换的不够快,于是我就加大主站主频,已经加到48Mhz了,按理说,软件上控制io口切换发送和接受应该是不耽误时间的,我也是发完立马切换成接受,可是依然不行,不知道为什么,还希望知道的大侠能帮忙解惑,多谢了。

使用特权

评论回复
沙发
laocuo1142| | 2021-12-28 17:08 | 只看该作者
没有人理我,给自己顶一个

使用特权

评论回复
板凳
flycamelaaa| | 2021-12-28 17:08 | 只看该作者

樓主量一下M0516的RXD和IO口的波形圖出來看看吧.
是不是RXD都沒收到?

使用特权

评论回复
地板
stormwind123| | 2021-12-28 17:09 | 只看该作者
关键是“我也是发完立马切换成接受(收),”,你是如何判断发完了?

使用特权

评论回复
5
probedog| | 2021-12-28 17:09 | 只看该作者

在发送完数据后,要延时,在切换到接收状态,这样才不会丢数据。你也可以挂一个485接口监听主站跟从站的数据。

使用特权

评论回复
6
classroom| | 2021-12-28 17:09 | 只看该作者
这个简单的要死的问题了 . 你把电脑的485口 并接在总线上 ,就可以看到数据的收发状况,如果从机有回应 ,那就是你的接收程序有有问题. 很简单的呢  发送完毫无疑问 ,无论你是从机还是主机 就应该切换到接收状态的.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

554

主题

2392

帖子

4

粉丝