485通信遇到奇怪问题!

automn_2004 2007-01-24 08:00:07
我在做PC机与51单片机的485通信时,采用三根线连接,A、B和GND,PC机端用232-485转换器,运行串口精灵。通信时,单片机首先向PC发送命令码,PC收到后,通过串口精灵回发几个字节的数据,但是每次PC回发几个自己的数据同时,都回在接受区收到几个乱七八糟的数据,而单片机并没有上传这些数据,不知道是怎么回事。比如串口精灵往单片机发送96 25 25 25 25 6E,接收区就会收到C0 C0 C0 00 00 99这样的数据,各位又遇到这样的问题吗?请问什么原因阿?
...全文
1058 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
automn_2004 2007-02-05
  • 打赏
  • 举报
回复
谢谢各位,小弟在485的A和B加了上拉和下拉电阻后解决了这个问题
x_z_d 2007-01-30
  • 打赏
  • 举报
回复
rs485的部分没接好吧
需要485传送芯片如用一对的美芯公司的max485就好了,这个系统我作过了,可以用的.
注意单片机要控制收发信号,而且要接好上拉电阻,还要将两个max485新片的:a b端接成如下形式:
A----A
B----B
注意接地问题和电源问题
zys0001 2007-01-29
  • 打赏
  • 举报
回复
没有给485提供电源
nature03 2007-01-26
  • 打赏
  • 举报
回复
你的单片机复位时,串口精灵都能收到00可能是硬件问题,如果你的板子受到干扰可能也会收到00。
shagua0916 2007-01-26
  • 打赏
  • 举报
回复
rS485在单片机里能直接用吗?
目标板里必须有485转232才可以呀!
numbbb 2007-01-26
  • 打赏
  • 举报
回复
485总线上缺少上拉电阻
tyj_3 2007-01-26
  • 打赏
  • 举报
回复
检查一下查询程序是否有问题
automn_2004 2007-01-25
  • 打赏
  • 举报
回复
定时器1工作方式2,自动重装初值模式,初值0x0FE,波特率4800,串口工作方式1,晶振3.6864M

pc机串口精灵设置:4800,8位数据位,1位停止位,无奇偶校验,flow control:custom

二者均为查询方式接收

485收发器:max3082,半双工
以上是我的设置,不知道是不是问题出在这里面
greentree123 2007-01-25
  • 打赏
  • 举报
回复
你要是把发送数据放到中断中,就有可能造成发送数据与接收数据之间的冲突。
nature03 2007-01-25
  • 打赏
  • 举报
回复
波特率、数据位数、奇偶校验、停止位都要设置正确,否则可能会出现错位现象。
automn_2004 2007-01-25
  • 打赏
  • 举报
回复
而且每次单片机复位时,串口精灵都能收到00
automn_2004 2007-01-24
  • 打赏
  • 举报
回复
如果让单片机一直发送数据而不接收数据,或者让单片机一直接收数据而不发数据,就不会出现上述的问题
如果让单片机先发送然后等着接收就会出现上述问题
lbing7 2007-01-24
  • 打赏
  • 举报
回复
会是转换器的问题吗?

或是你的板子上MAX485的操作问题?

automn_2004 2007-01-24
  • 打赏
  • 举报
回复
能说得具体一点吗
nature03 2007-01-24
  • 打赏
  • 举报
回复
串口设置的问题

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧