打印

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

[复制链接]
26791|90
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如图,是我的 485通讯电路 ,单片机用的是 meiga8,串口接收中断方式,发送用查询方式 ,板子通过 一块外购的 485转 232模块 与 pc机链接,用串口助手调试, 串口助手发送数据,mega8中断方式 接收到5个数据后,向 pc机返回原数据
例如:pc机发送 :01 02 03 04 05,mega8接收成功后,返回01 02 03 04 05 ,
程序在 proteus上测试是没有问题的,但一烧写到实物上,实际测试,发现如下问题
1、mega8返回的数据 错误,
2、不管串助手发送了几个字节, 都会接收到返回的数据,
3、串口接收到的 的数据个数总是比 串口助手发送的多一个字节,且该字节为00

然后我做了如下测试 :
1、担心是否因为光隔选择不适合通讯,所以 不要光隔,直接把rxd,txd,485_en 链接到mega8对应端口 ,同时把 +5v与 vcc短接,1gnd与gnd短接  ,问题依旧
2、不焊接 RA1,RA2,R12,R9,R10,R11,情况不变
3、禁止mega8程序里的串口发送,只接受,发现 串口助手仍然能接收到数据,而且跟之前的接收数据是一样的,很纳闷,这些数据是怎么来的呢 ?
4、怀疑485转232模块坏掉了,换了一个新的,情况依旧!
实在是找不到问题所在,所以想请大家帮忙看看

相关帖子

沙发
wangxxll111|  楼主 | 2014-3-3 11:21 | 只看该作者
在线等,哪位能给指个明路?485以前也做过,都挺容易的,这次也不知道怎么了 ?

使用特权

评论回复
板凳
mmuuss586| | 2014-3-3 11:41 | 只看该作者
拿示波器看看波特率啥的对不对

使用特权

评论回复
地板
tyw| | 2014-3-3 11:45 | 只看该作者
5
wangxxll111|  楼主 | 2014-3-3 12:16 | 只看该作者
我没有示波器,波特率 9600,仿真的时候出现 9615

使用特权

评论回复
6
wangxxll111|  楼主 | 2014-3-3 12:18 | 只看该作者
tyw 发表于 2014-3-3 11:45
〓 RS-232,485串口通讯相关资料汇集 〓,小惹...  
〓 RS232/RS485/RS422 通信相关专辑 34册 187M 〓  ...

你的资料可真全啊,多谢了,其实出现问题也查看了好多资料,但不知道为啥,可能是自己钻到死角里了,怎么也搞不清楚了 !

使用特权

评论回复
7
tyw| | 2014-3-3 12:25 | 只看该作者
本帖最后由 tyw 于 2014-3-3 12:34 编辑
wangxxll111 发表于 2014-3-3 12:18
你的资料可真全啊,多谢了,其实出现问题也查看了好多资料,但不知道为啥,可能是自己钻到死角里了,怎么 ...


去3十几元整只逻辑分析仪吧,配付电工镜,哈哈

http://detail.tmall.com/item.htm?spm=a230r.1.14.18.Tt7HxP&id=36753652861&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=

Saleae 逻辑分析仪DIY 手册.pdf (662.61 KB)
Saleae 逻辑分析仪使用手册.pdf (1.99 MB)

使用特权

评论回复
8
wangxxll111|  楼主 | 2014-3-3 12:50 | 只看该作者
tyw 发表于 2014-3-3 12:25
去3十几元整只逻辑分析仪吧,配付电工镜,哈哈

http://detail.tmall.com/item.htm?spm=a230r.1.14.18.Tt7H ...

多谢,马上买个

使用特权

评论回复
9
wangxxll111|  楼主 | 2014-3-3 12:51 | 只看该作者
只是这个电路我该怎么调整呢?

使用特权

评论回复
10
tyw| | 2014-3-3 13:03 | 只看该作者
wangxxll111 发表于 2014-3-3 12:51
只是这个电路我该怎么调整呢?

把逻辑分析仪挂到数据端看波形就知道毛病出在哪里了

使用特权

评论回复
11
wangxxll111|  楼主 | 2014-3-3 13:03 | 只看该作者
买了到手还得一个星期啊

使用特权

评论回复
12
airwill| | 2014-3-3 13:05 | 只看该作者
既然原来软件模拟是正常的, 那么多从硬件连接和信号干扰方面考虑.
有个办法, 尽可能切去中间环节, 让电脑最快地连接到 MEGA8 去做测试. 比如直接把rxd,txd转换后给电脑串口.

使用特权

评论回复
13
wangxxll111|  楼主 | 2014-3-3 13:12 | 只看该作者
airwill 发表于 2014-3-3 13:05
既然原来软件模拟是正常的, 那么多从硬件连接和信号干扰方面考虑.
有个办法, 尽可能切去中间环节, 让电脑最 ...

这步我没做 ,嗯,试试看看

使用特权

评论回复
14
wangxxll111|  楼主 | 2014-3-3 13:13 | 只看该作者
airwill 发表于 2014-3-3 13:05
既然原来软件模拟是正常的, 那么多从硬件连接和信号干扰方面考虑.
有个办法, 尽可能切去中间环节, 让电脑最 ...

关键是,现在,我已经禁止mega8的usart发送了,串口助手还是能接收到数据

使用特权

评论回复
15
airwill| | 2014-3-3 13:24 | 只看该作者
就是要找到和排除 哪个中间环节引入了噪声或干扰.
另外还有空闲时间里的电平情况. 串口协议要求空闲为高电平, 但如果是低电平了, 软件模拟可能没有问题, 但应用中问题大了.

使用特权

评论回复
16
hh376158101| | 2014-3-3 14:14 | 只看该作者
最后老是接收到0x00,这个就是结束符,应该是你的接收函数没处理好

使用特权

评论回复
17
Jack20130904| | 2014-3-3 14:27 | 只看该作者
应该是发送函数没处理好,发送完毕后,把端口置高试试,
之前我的好像也是这样。
另外最好先用串口调试看看,尽量去掉其它不必要的因素

使用特权

评论回复
18
juliuszwj| | 2014-3-3 14:41 | 只看该作者
软件问题可能性高。

使用特权

评论回复
19
gmgmgm| | 2014-3-3 15:06 | 只看该作者
楼主也真够呛咯,连个简单的示波器都木有,这不是瞎搞吗

使用特权

评论回复
评论
望断云山 2014-3-3 22:18 回复TA
木有示波器就不干活了?木有示波器就是瞎搞? 
20
shuidi_wangdan| | 2014-3-3 15:14 | 只看该作者
没有条件,创造条件也要上!

使用特权

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

本版积分规则

个人签名:想要静下心来学学模电,还得及吗?

5

主题

81

帖子

1

粉丝