打印

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

[复制链接]
1826|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yjh0201|  楼主 | 2008-10-17 20:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chen3bing| | 2008-10-17 21:04 | 只看该作者

re

你是否用到校验了?

使用特权

评论回复
板凳
yjh0201|  楼主 | 2008-10-18 11:22 | 只看该作者

没有用啊

没有用啊,

使用特权

评论回复
地板
linqing171| | 2008-10-18 13:19 | 只看该作者

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

串口应该没有问题。两边设置一样就可以了。应该是RAM或者哪里短路了最低位的地址线吧。0123456789全发一遍,看看分别变成了多少。
按你的说法应该是变成了1133557799 ?

使用特权

评论回复
5
yjh0201|  楼主 | 2008-10-19 19:18 | 只看该作者

回楼上

从1到9的结果确实是1133557799,可以分析最低位全被判成1了。因该市最低为被拉高了,我回去看看....

使用特权

评论回复
6
yjh0201|  楼主 | 2008-10-24 20:23 | 只看该作者

问题找到了

我用c51编程,在设置 上使用的是大存储模式,变量跑到外部ram中了,而我的D0正好是虚焊,造成数据中转的时候D0位变高

使用特权

评论回复
7
小心有毒| | 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

粉丝