单片机串口通信

[复制链接]
1686|10
 楼主| 海口天空 发表于 2014-1-28 11:10 | 显示全部楼层 |阅读模式
本帖最后由 海口天空 于 2014-1-28 11:14 编辑

我用的是51单片机 我发送0x12到另一个单片机  我取0x12的第四位和高四位来转化成十进制的数  但是只有第四位的数是正确的  高四位是错位的   我用的是串口方式1   为什么




        temp4=temp>>4;
        temp4=temp4&0x0f;
        temp3=temp&0x0f;
leehp 发表于 2014-1-28 11:39 | 显示全部楼层
你取高四位,应该是&0XF0才对啊。
NE5532 发表于 2014-1-28 13:55 | 显示全部楼层
不要胡子眉毛一把抓,串口传输正确了再来研究数据转换的关系,两个放一起,连楼主想干嘛都不知道。
yettt365 发表于 2014-1-28 17:25 | 显示全部楼层
楼主,请贴出全部的代码清单,错误可能的原因有很多的。
ww12101230 发表于 2014-2-1 00:06 | 显示全部楼层
templ = 0x0f&temp;
temph = temp>>4;
看看这样管不

 楼主| 海口天空 发表于 2014-2-11 10:11 | 显示全部楼层
NE5532 发表于 2014-1-28 13:55
不要胡子眉毛一把抓,串口传输正确了再来研究数据转换的关系,两个放一起,连楼主想干嘛都不知道。 ...

串口传输正确了 我用电脑调试好了  我就是想传输倆位数  但是就是不行   我用数码管显示  只能正确显示以为数  (数码管显示也没问题)
 楼主| 海口天空 发表于 2014-2-11 10:12 | 显示全部楼层
ww12101230 发表于 2014-2-1 00:06
templ = 0x0f&temp;
temph = temp>>4;
看看这样管不

这个方法都用过了 传输过来的依然不正确
 楼主| 海口天空 发表于 2014-2-11 10:13 | 显示全部楼层
海口天空 发表于 2014-2-11 10:12
这个方法都用过了 传输过来的依然不正确

我用的是stc89c52
yanzhuangsongqi 发表于 2014-2-11 10:18 | 显示全部楼层
检查下波特率设置
ningling_21 发表于 2014-2-11 10:24 | 显示全部楼层
海口天空 发表于 2014-2-11 10:12
这个方法都用过了 传输过来的依然不正确

传输过来的不正确,说明串口接收有问题嘛...

先解决串口接收的问题...
NE5532 发表于 2014-2-11 19:46 | 显示全部楼层
海口天空 发表于 2014-2-11 10:11
串口传输正确了 我用电脑调试好了  我就是想传输倆位数  但是就是不行   我用数码管显示  只能正确显示以 ...

你觉得什么都正确,那为啥结果不正确呢?心态是找不到问题的根源哈。先把显示调可靠了,再去调传输。推荐阅读《程序调试黑宝书》
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

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