做串口通信,但计算机发送偶数单片机接收却被加1变奇数了

[复制链接]
2817|6
 楼主| yjh0201 发表于 2008-10-17 20:02 | 显示全部楼层 |阅读模式
做串口通信,但计算机发送偶数单片机接收却被加1变奇数了,发送奇数就正常
有没有哪位大哥遇到过,
chen3bing 发表于 2008-10-17 21:04 | 显示全部楼层

re

你是否用到校验了?
 楼主| yjh0201 发表于 2008-10-18 11:22 | 显示全部楼层

没有用啊

没有用啊,
linqing171 发表于 2008-10-18 13:19 | 显示全部楼层

串口后的数据线最低位短路了?

串口应该没有问题。两边设置一样就可以了。应该是RAM或者哪里短路了最低位的地址线吧。0123456789全发一遍,看看分别变成了多少。
按你的说法应该是变成了1133557799 ?
 楼主| yjh0201 发表于 2008-10-19 19:18 | 显示全部楼层

回楼上

从1到9的结果确实是1133557799,可以分析最低位全被判成1了。因该市最低为被拉高了,我回去看看....
 楼主| yjh0201 发表于 2008-10-24 20:23 | 显示全部楼层

问题找到了

我用c51编程,在设置 上使用的是大存储模式,变量跑到外部ram中了,而我的D0正好是虚焊,造成数据中转的时候D0位变高
小心有毒 发表于 2008-10-24 21:07 | 显示全部楼层

我的串口也有问题

我在串口助手里输入30 31 32 ....39(只发送30至35 6个字节),单片机接收完这组数据(不设校验,即不管接收正确与否)后返回01 02 03 04 04 04 05 06 。但但查看单片机接收寄存器的数据完全不是我发的,但串口助手有时能接收到正确的数据,有时某个数据会出错(即可能收到01 02 03 04 05 06 00或01 02 03 04 04 05 05 06),不知这是什么原因呢?还有就是每次串口助手一发送完后马上收到两三个数据,然后才收到单片机发来的数据。真搞不清楚这是什么造成的,郁闷啊!!!盼高手能给点意见!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部