找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

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

  [复制链接]
跳转到指定楼层
楼主
lukang 发表于 2015-10-16 21:56:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
大家好,最近遇到一个问题,还望高手给予解惑。我用M0516为cpu做了一个主站,用来给一个成型的从站发送命令,485介质通信,用一个io口连接485芯片的RE和DE端来控制发送和接受的切换,开始设置为发送状态,发送一串报文给从站,经过监测,发送的报文没有问题,然后由io口切换成接收状态,按理说从站会反馈一串报文回来,但是主站却收不到任何报文,也没能监测到从站发回的报文。从站没有问题,主站发出的报文也没有问题,因为我用模拟上位机对从站发出相同的报文,从站是有回应的,至于为什么这里主站收不到,我就怀疑是从站回应的太快,导致我还没来得及将485从发送状态切换成接收状态,自然也就收不到从站的回应,而监测不到从站发出的回应大概是因为这时主站的485还处于发送状态。于是我想到可能是发送和接受切换的不够快,于是我就加大主站主频,已经加到48Mhz了,按理说,软件上控制io口切换发送和接受应该是不耽误时间的,我也是发完立马切换成接受,可是依然不行,不知道为什么,还希望知道的大侠能帮忙解惑,多谢了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

8#
harvardx 发表于 2016-7-28 17:42:44 | 只看该作者
估计是程序错误吧 .485收发切换  任何一个简单的8bit mcu都可以摆平的 咱们m051不使用自带 的收发切换功能, 一样可以轻松搞定
回复 支持 反对

使用道具 举报

7#
zsp06312222 发表于 2016-7-28 14:40:32 | 只看该作者
楼主解决了这个问题没,分享经验
回复 支持 反对

使用道具 举报

6#
harvardx 发表于 2016-7-7 20:37:09 | 只看该作者
这个简单的要死的问题了 . 你把电脑的485口 并接在总线上 ,就可以看到数据的收发状况,如果从机有回应 ,那就是你的接收程序有有问题. 很简单的呢  发送完毫无疑问 ,无论你是从机还是主机 就应该切换到接收状态的.
回复 支持 反对

使用道具 举报

5#
Jack67 发表于 2016-7-7 15:36:50 | 只看该作者
在发送完数据后,要延时,在切换到接收状态,这样才不会丢数据。你也可以挂一个485接口监听主站跟从站的数据。
回复 支持 反对

使用道具 举报

地板
hemingxian 发表于 2015-10-19 22:20:52 | 只看该作者
关键是“我也是发完立马切换成接受(收),”,你是如何判断发完了?
回复 支持 反对

使用道具 举报

板凳
CHLIN55 发表于 2015-10-19 10:40:56 | 只看该作者
樓主量一下M0516的RXD和IO口的波形圖出來看看吧.
是不是RXD都沒收到?
回复 支持 反对

使用道具 举报

沙发
 楼主| lukang 发表于 2015-10-17 20:00:31 | 只看该作者
没有人理我,给自己顶一个
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU