为什么串口发送出的数据与原始数据不一致

2019-07-17 11:04发布

本帖最后由 zhihuizhou 于 2011-11-18 10:45 编辑

mscomSerialWrite2.rar (18.21 KB, 下载次数: 88)

串口发送数据错误.jpg

如题,串口发出的数据为FFAE 4040 EA41 D8FF ,接收到的数据为FFAE 4040 EA41 3F
百思不得其解,特向各位大师求教.
指令发给我自已做的一块板,格式自已定义的.
现在我的问题是发FFAE 4040 EA41 D8FF ,在本机上用串口调试助手接收时发现实际发的是FFAE 4040 EA41 3F.也就是说最后的二个字节D8FF变成了3F
(如果您对如果本机虚拟两个串口一个发一个收不清楚的话我可以告诉您,我用串口监视也确认了是发出的数据不对)
所以与仪器指令无关.

测试了一下,数据如下
发出:4164 8163 4341 03接收:41 64 81 63 43 41 03
发出:A143 B245 6AAA BBCC 接收:A1 43 B2 45 6A AA BB 00
发出:AAAA AAAA AAAA AAAA AAAA AAAA 接收:AA AA AA AA AA AA AA AA AA AA AA AA
发出:A1A1 A1A1 A1A1 A1A1 A1A1 接收:A1 A1 A1 A1 A1 A1 A1 A1 A1 A1
发出:FFAE 4040 EA41 D8FF接收:FF AE 40 40 EA 41 3F
发出:FFAE 4040 EA41 D8FF AA23 AB33 A233 AAAA A404 ABCD A2CD A22D B22C 接收:FF AE 40 40 EA 41 3F 3F 3F 3F AA AA 3F AB CD A2 CD 3F 3F
发出:FFAE 40A2 CCDD EEFA接收:FF AE 40 A2 CC DD EE 00

从上面可以看出,全是数字没错.
常是出现字母+数字时会变成3F
还有二个字母时会变成0

why?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
B07050406
1楼-- · 2019-07-18 09:59
zhihuizhou 发表于 2011-11-4 14:19
看起来好像是奇偶校验出错了,你程序中是先设置了参数再打开串口的,你试一下第二个属性节点最上面用OPEN的 ...

LZ用了奇偶校验位了吗??用了的话,好像串口调试助手上面没加校验位哎;如果没用的话哪来的就校验问题呢?
B07050406
2楼-- · 2019-07-18 15:20
jiuri1989 发表于 2011-11-4 14:24
I工程师告诉我要转化成byte array数组干,图示是偶的解决方案.用起来没问题
我的

LZ用了奇偶校验位了吗??用了的话,好像串口调试助手上面没加校验位哎;如果没用的话哪来的就校验问题呢?
kuailedjs
3楼-- · 2019-07-18 17:06
 精彩回答 2  元偷偷看……
addtion
4楼-- · 2019-07-18 17:57
Labview?
815317784
5楼-- · 2019-07-18 23:49
不错...
glyxz1990
6楼-- · 2019-07-19 05:35
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

一周热门 更多>