当前位置:编程学习 > C#/ASP.NET >>

跪求高人帮助(串口数据分析)

FF FF F1 7F FF 7F E5 7F EF 7F D6 7F FD 7F 04 80   
 09 80 FF FF F8 7F 05 80 24 80 1A 80 16 80 00 80  
 EE 7F E2 7F FF FF 06 80 E6 7F EA 7F D8 7F 07 80  
 FF 7F 14 80 12 80 FF FF 04 80 20 80 1F 80 10 80  
 FF 7F EC 7F E1 7F D9 7F FF FF 02 80 ED 7F D7 7F  
 07 80 07 80 12 80 15 80 09 80 FF FF FD 7F 1C 80  
 12 80 FE 7F E5 7F E5 7F D3 7F DC 7F FF FF E1 7F  
 DC 7F 09 80 01 80 1F 80 11 80 09 80 ED 7F FF FF  
 EA 7F 10 80 FB 7F EA 7F DB 7F D5 7F E9 7F 10 80   
 FF FF 02 80 0A 80 05 80 19 80 15 80 05 80 E8 7F   
 F0 7F FF FF FD 7F FB 7F E6 7F E6 7F CE 7F EC 7F   
 1B 80 1A 80 FF FF F7 7F 06 80 20 80 11 80 04 80   
 E6 7F F1 7F D9 7F FF FF F6 7F E8 7F DE 7F D3 7F  
 FB 7F 16 80 20 80 13 80 FF FF F0 7F 1D 80 14 80 
 03 80 E3 7F EE 7F D5 7F F3 7F FF FF EA 7F E9 7F   
 DD 7F 04 80 08 80 11 80 17 80 07 80 FF FF EA 7F  
 18 80 0D 80 EF 7F D1 7F CB 7F 01 80 00 80 FF FF  
 E4 7F E3 7F 07 80 02 80 1F 80 10 80 07 80 F1 7F   
 FF FF E1 7F 0C 80 E7 7F D9 7F CB 7F 00 80 03 80   
 0E 80 FF FF ED 7F 08 80 07 80 19 80 16 80 03 80   
 ED 7F EC 7F FF FF F9 7F EA 7F D0 7F D1 7F 0A 80 
 FE 7F 19 80 18 80 FF FF 0F 80 07 80 1F 80 10 80   
 03 80 EA 7F ED 7F DF 7F FF FF 20 80 D8 7F D1 7F  
 0A 80 07 80 16 80 1D 80 10 80 FF FF 0A 80 1D 80  
 12 80 03 80 E4 7F EF 7F DA 7F EE 7F FF FF F2 7F   
 D7 7F 0D 80 00 80 25 80 17 80 12 80 FC 7F FF FF  
上面是我通过串口监视器,截获的串口数据,可以看到每隔16个字 就出现FF,我觉得FF可能就是数据结束位吧,但是校验位、数据位又是哪些呢?什么校验方式呢?我是菜鸟,望各位大虾不吝赐教。 --------------------编程问答-------------------- To 我觉得FF可能就是数据结束位吧

一般不会以单字节为结尾的 --------------------编程问答-------------------- 解码 --------------------编程问答-------------------- 校验位、数据位、校验方式在这里是看不出来的,这些是通信双方对数据传输的一种约定。具体来说,是对高低电平(1和0)的解释方式。
你截获的串口数据是接收程序对原始数据(线路上的电平)的解释,校验位、数据位、校验方式等应该在接收程序中设定,在打开串口时串口监视器的中也应该可以看到。 --------------------编程问答--------------------
引用 3 楼 nandi_1 的回复:
校验位、数据位、校验方式在这里是看不出来的,这些是通信双方对数据传输的一种约定。具体来说,是对高低电平(1和0)的解释方式。
你截获的串口数据是接收程序对原始数据(线路上的电平)的解释,校验位、数据位、校验方式等应该在接收程序中设定,在打开串口时串口监视器的中也应该可以看到。
什么意思?就是这些数据里面有校验位数据位,但是在接受程序中设定? --------------------编程问答-------------------- LZ:如果是这样,你的数据帧为18字节,至于0XFF是否是帧首,那得按通信协议来确定.
整理下:
FF FF F1 7F FF 7F E5 7F EF 7F D6 7F FD 7F 04 80 09 80 
FF FF F8 7F 05 80 24 80 1A 80 16 80 00 80 EE 7F E2 7F 
FF FF 06 80 E6 7F EA 7F D8 7F 07 80 FF 7F 14 80 12 80 
FF FF 04 80 20 80 1F 80 10 80 FF 7F EC 7F E1 7F D9 7F 
FF FF 02 80 ED 7F D7 7F 07 80 07 80 12 80 15 80 09 80 
FF FF FD 7F 1C 80 12 80 FE 7F E5 7F E5 7F D3 7F DC 7F 
FF FF E1 7F DC 7F 09 80 01 80 1F 80 11 80 09 80 ED 7F 
FF FF EA 7F 10 80 FB 7F EA 7F DB 7F D5 7F E9 7F 10 80  
FF FF 02 80 0A 80 05 80 19 80 15 80 05 80 E8 7F F0 7F 
FF FF FD 7F FB 7F E6 7F E6 7F CE 7F EC 7F 1B 80 1A 80 
FF FF F7 7F 06 80 20 80 11 80 04 80 E6 7F F1 7F D9 7F 
FF FF F6 7F E8 7F DE 7F D3 7F FB 7F 16 80 20 80 13 80 
LZ可按上述来分析. --------------------编程问答-------------------- 从上述18字节数据看,数据位必然是8位,至于有无校验位判断不出. --------------------编程问答-------------------- 应该是无校验位的! --------------------编程问答--------------------
引用 6 楼 zdingyun 的回复:
从上述18字节数据看,数据位必然是8位,至于有无校验位判断不出.
八位数据位?八位2进制数据位么?还是八位16进驻数据位 --------------------编程问答-------------------- 来人帮帮忙啊 --------------------编程问答--------------------
引用 8 楼 zhenzhenniuniu 的回复:
引用 6 楼 zdingyun 的回复:
从上述18字节数据看,数据位必然是8位,至于有无校验位判断不出.
八位数据位?八位2进制数据位么?还是八位16进驻数据位

8LZ:当然是8位2进制数据位.假如波特率为9600而且无校验位的话,那么:
MSComm1.Settings = "9600,n,8,1"
MSComm 控件的Settings 属性
设置并返回波特率、奇偶校验、数据位、停止位参数。
语法
object.Settings[ = value]
Value 由四个设置值组成,有如下的格式:
"BBBB,P,D,S"
BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。value 的缺省值是:
"9600,N,8,1"

--------------------编程问答--------------------
引用 4 楼 zhenzhenniuniu 的回复:
引用 3 楼 nandi_1 的回复:
校验位、数据位、校验方式在这里是看不出来的,这些是通信双方对数据传输的一种约定。具体来说,是对高低电平(1和0)的解释方式。
你截获的串口数据是接收程序对原始数据(线路上的电平)的解释,校验位、数据位、校验方式等应该在接收程序中设定,在打开串口时串口监视器的中也应该可以看到。
什么意思?就是这些数据里面有校验位数据位,但是在接受程序中设定?

简单的说,先有设定,后有数据。
对校验位、数据位、波特率等的设定是对串口硬件的设置,在设置好后才接收到你所得的数据;
不同的设定会得到不同的数据。比如发送的机器以波特率为9600,校验位1,数据位8的设定发送数据,接收方如果设定波特率为2400,那也会收到数据,只是收到的数据和发送的数据是不同的。必须把接收的硬件调整到和发送的硬件设定一致,数据才一致。
就像说英语的人说话,有听觉的人都能听到,但只有懂英语的人才知道是什么意思。单纯记录物理声音是无法分析其意义的。
所以,单从接收到的数据是无法判断数据位、校验位这些硬件设定的。
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,