串口调试接收数据出错
m16每秒钟发送一个数据(第1秒发送1,第二秒发送2,直到7依次循环),但是在串口助手里接收到的数据却是81,82,83,84,85,86,87 晶振用的是7.3728,波特率9600,8为数据位,1位停止位,0校验位,串口助手那边也是如此设置,问下出现这种请况的原因是什么,是不是数据格式之间的问题,还是其他的,请大家帮帮忙,谢谢 接收最後一位出错,极可能是波特率有偏差。看看你程式中的 UBRR 是否设定为47(0x2F)? eblc1388 发表于 2012-11-4 22:31 static/image/common/back.gif接收最後一位出错,极可能是波特率有偏差。看看你程式中的 UBRR 是否设定为47(0x2F)? ...
哦哦,重新检查了一遍,发现校验位的寄存器少写了一个,太大意了,还是谢谢你的回答啊 81,82,83,84,85,86,87不就对应的是1.2.3.4.5.6.7?ascii值啊~ 我也正在调试这个。。。 maxims 发表于 2012-11-5 23:24 static/image/common/back.gif
我也正在调试这个。。。
好像不是哦,我是因为设置错了,才出现那种情况,你说的ascii码,我也考虑过,不过他们的关系好像是这样的,不知道你怎么理解的
十进制十六进制 你设置的数字
49 31 1
50 32 2
51 33 3
52 34 4
53 35 5
54 36 6
55 37 7
56 38 8
57 39 9 本帖最后由 maxims 于 2012-11-7 23:36 编辑
leimao 发表于 2012-11-7 22:42 static/image/common/back.gif
好像不是哦,我是因为设置错了,才出现那种情况,你说的ascii码,我也考虑过,不过他们的关系好像是这样 ...
哎哟,记错了。。。不好意思
我的收到的是“00 80 00 80 00”之类的,ASCII显示出来“ε”
页:
[1]