打印

485电路通讯接收发送数据不对 问题 ,快要疯掉了

[复制链接]
楼主: wangxxll111
手机看帖
扫描二维码
随时随地手机跟帖
81
wangxxll111|  楼主 | 2014-3-10 09:38 | 只看该作者 回帖奖励 |倒序浏览
chunyang 发表于 2014-3-8 23:37
只有个别数据对说明波特率可能有问题,检查相关配置,也可能是你的程序有误。 ...

彻底郁闷了 !
昨天折腾了一天,把熔丝位配置成内部8M晶振了,然后把mega8的 rxd,txd引出直接接到pc机的 串口上
然后做了如下试验:
1、用串口助手 发送数据,然后 把接收到的数据原样返回,测试,发现,不管发什么都完全正确,窃喜,一位好用了 :lol
2、修改程序,让pc机发送指定的数据,mega8处理后,返回一组数据给 pc,测试结果 发现,串口助手,接收到的数据跟发送的数据是一样的 ,试验失败,难道是mega8,uart接收处理程序处理的不好?但为啥是发送和接收数据一样
3、将mega8的uart发送程序屏蔽掉,即就算接收到pc机发来的数据,mega8也啥也不做,什么数据也不返回,奇怪的事情发生了 :
    串口助手开始发送数据,依然能够接收到跟发送一样的数据!可我的mega8 根本没有发送啊 ,这串口接收的 是哪里来的?
4、掉电的情况下,量mega8的 txd和rxd,之间阻值19M多,说明板子没有虚连的地方啊

5、换了一块板子,继续,相同的情况
6、换了一个pc机串口,情况相同



彻底崩溃了!

使用特权

评论回复
82
chunyang| | 2014-3-10 18:23 | 只看该作者
wangxxll111 发表于 2014-3-10 09:38
彻底郁闷了 !
昨天折腾了一天,把熔丝位配置成内部8M晶振了,然后把mega8的 rxd,txd引出直接接到pc机的 ...

这只能说明你的硬件电路有错。

使用特权

评论回复
83
wangxxll111|  楼主 | 2014-3-11 00:17 | 只看该作者
chunyang 发表于 2014-3-10 18:23
这只能说明你的硬件电路有错。

:Q换了台电脑,啥也没动,现在看来,485发送部分没有问题,可以正确发送,但接收部分 还有待考证

使用特权

评论回复
84
fengtieqi216| | 2014-3-11 11:33 | 只看该作者
本帖最后由 fengtieqi216 于 2014-3-11 11:35 编辑

去掉120欧姆电阻试试……我好像以前碰到过这个问题,串口线转485是不是这个问题比较多,你可以用两个单片机对发,调试其中的一个单片机看看什么情况

使用特权

评论回复
85
chunyang| | 2014-3-11 16:31 | 只看该作者
wangxxll111 发表于 2014-3-11 00:17
换了台电脑,啥也没动,现在看来,485发送部分没有问题,可以正确发送,但接收部分 还有待考证  ...


呵呵,原来是RP问题……

使用特权

评论回复
86
ybskya| | 2014-3-11 22:21 | 只看该作者
建议再检查一下软件设置的问题,我理解问题应该出现在串口数据接收和发送函数处理环节了,

使用特权

评论回复
87
hawkjt2002| | 2014-3-12 07:28 | 只看该作者
wangxxll111 发表于 2014-3-10 09:38
彻底郁闷了 !
昨天折腾了一天,把熔丝位配置成内部8M晶振了,然后把mega8的 rxd,txd引出直接接到pc机的 ...

先通过232通讯再说吧,这样比较好找问题的

使用特权

评论回复
88
wangxxll111|  楼主 | 2014-3-12 12:59 | 只看该作者
怎么说呢,这个活做得我有点郁闷了!不过不管怎么样,还是要来作个总结把贴结了!
总体来说,过程中各级低级错误+牛角尖了
开始的时候,其实是因为复位电路有问题导致单片机总是处于复位,所以通讯当然不好使!
解决了复位问题后,继续测试,各种查找问题,各种求救,各种解答,485还是无法通讯,有点放弃了,后来歇了一天,不死心,换了台电脑连接上,上电后,发现,在原来的基础上,什么也没作改动,居然PC串口助手能收到mega8发来的信息,而且是通过485发送的,而且,数据是完全正确的,十分惊喜!
终于看到了点希望,看来之前用的电脑的串口都牺牲了!
继续测试,发现,485只能发送,不能接收,量了485的使能脚,程序控制低电平时,其实是1.8v,查找原因,其实是因为我的 485使能是通过mega8的 pd2经过一个光隔后给485的,光隔的两个电阻选择有问题,调整了阻值,现在485能接能发了!
总算是有个结果了!
反省这个过程,发现其实关键还在于,自己的基础不够扎实,遇到问题,死扣,不懂换个思路思考问题!唉,2个星期了,大大的教训啊!

使用特权

评论回复
89
wangxxll111|  楼主 | 2014-3-12 13:02 | 只看该作者
chunyang 发表于 2014-3-10 18:23
这只能说明你的硬件电路有错。

您说对了,确实是硬件问题,主要是两个 :
1、电脑的3个串口居然都不好使!(是不是有点太背了)
2、485使能的光隔的电阻阻值选择不合理,导致,485无法处于接收状态

使用特权

评论回复
90
wangxxll111|  楼主 | 2014-3-12 13:03 | 只看该作者
chunyang 发表于 2014-3-11 16:31
呵呵,原来是RP问题……

使用特权

评论回复
91
Kopapril| | 2014-3-12 22:30 | 只看该作者
不错的帖子,发现问题分析问题并解决问题,最重要的还是循序渐进排查,细心+耐心。

使用特权

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

本版积分规则