打印

关于485半双工下的软件控制流问题

[复制链接]
3480|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinshan2000|  楼主 | 2009-8-27 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于485半双工下的软件控制流问题,最近一直很迷惑,特请大家帮我看看。

硬件:用485芯片的/ER端直接接地,即任何情况下都可以接收;ED端由单片机IO来控制发送端流向。

软件:编写软件中指令操作,如果发送的数据和接收的数据不完全一样,没有问题;
如果发送的数据和接收的数据完全一样,则串口调试软件再发送一次指令后一直接收,不能停止。

问题说明:我已经做了软件的流向控制,发送数据的时候接收中断是不允许的,发送完成才开接收,现在的问题是:怎么样将完全一样的数据(即自己发的自己接收的数据)屏蔽掉,头疼中!请高手指点!

相关帖子

沙发
chunyang| | 2009-8-27 16:15 | 只看该作者
/ER端?收发控制端吧...
楼主的问题是软件编写的问题。

使用特权

评论回复
板凳
jinshan2000|  楼主 | 2009-8-27 17:03 | 只看该作者
我知道是软件编写的问题,就是不知道哪里出问题,只有收发一样的数据才有问题,请多指点,给我个思路就行,看什么地方处理一下,把发送出去自己又接回来的无效数据过滤掉。我试了很多方式,都不行,请大家帮忙!

使用特权

评论回复
地板
chunyang| | 2009-8-27 18:08 | 只看该作者
这个思路没法给你,串口编程而已,要正确理解串口的操作方法。

使用特权

评论回复
5
mohanwei| | 2009-8-27 20:03 | 只看该作者
RS485,通信协议里严格实现一主多从,主问从答,一问一答,超时则处理出错原因。

使用特权

评论回复
6
jinshan2000|  楼主 | 2009-8-27 21:05 | 只看该作者
我的程序中对很多命令进行了编程,也是一问一答,超时有处理的。只有一条,操作成功后返回的数据和接收的一样,这个就出问题了,不知道怎么处理。希望知道的给个思路,不知道这个问题的就别说了,懂的再说!

使用特权

评论回复
7
mohanwei| | 2009-8-27 22:01 | 只看该作者
看来楼主是罕有的大牛……不过牛人也有大眼闪过界的时候,建议看看485通信的特性,RS485驱动器手册里的收发逻辑,以及MCU的串口特性

使用特权

评论回复
8
jinshan2000|  楼主 | 2009-8-28 08:49 | 只看该作者
唉!这年头只能靠自己啊,这里的人没有真正能讨论技术的(或者也不懂),灌水行,几句话敷衍一下,简单几句大道理谁不懂啊!

使用特权

评论回复
9
donkey89| | 2009-9-3 22:12 | 只看该作者
我也遇到楼主相同的问题了,都是自己发送的数据自己收到了,结果进入了死循环,
真是很奇怪啊,我发送完一个字节以后,还特意延时20ms都不行.485芯片的读写端是软件控制的,发送的时候置高电平,一般常态下是低电平.

使用特权

评论回复
10
李冬发| | 2009-9-4 00:31 | 只看该作者
你都关中断了,最多能收到自家的1个字节。一个字节能影响整个数据包?!

使用特权

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

本版积分规则

7

主题

20

帖子

0

粉丝