02 31 30 20 20 20 20 20 20 30 20 20 20 20 20 30 0D 这段数据02是起始符,固定的 31 30 20对应状态字ABC,从状态字A的二进制码前三位来读取你的小数位,同理利用状态字B的二进制位来读其他数据。你的开发文档里很清楚 两段20 20 20 20 30是你要读的数据,具体怎么定义的要自己去破解 0D为校验和 我说的还不够明白么
31是状态A,转换成二进制是00110001,看前三位来确定你的小数点位置
用串口调试伴侣 调试下,不称和称重状态,对比一下就出来了。 如果一直是 02 31 30 20 20 20 20 20 20 30 20 20 20 20 20 30 0D ,肯定就错了。 现在的电子秤都不用做太多的数据解析,发送的时候16进制,带有分割符=,serialPort1_DataReceived 接收到的就是已经解析好的 00.0000,然后反转数据就得到结果了。
[quote=引用 15 楼 qq_38588710 的回复:] 有趣,楼主你查下ASCII码表,意思是00.0000对应的数据是30 30 30 30 30
有趣,楼主你查下ASCII码表,意思是00.0000对应的数据是30 30 30 30 30
[quote=引用 13 楼 qq_17275555 的回复:] [quote=引用 12 楼 cyg17173 的回复:] [quote=引用 11 楼 qq_38588710 的回复:] [quote=引用 10 楼 cyg17173 的回复:] 接收的数据明显不对,地磅的设置有问题。 一般设置成功的数据都是这样,如8.62 Kg的数据格式: =26.8000=26.8000=26.8000=26.8000 如果没秤东西,串口连接成功,则接收的数据一般是 =00.0000
[quote=引用 12 楼 cyg17173 的回复:] [quote=引用 11 楼 qq_38588710 的回复:] [quote=引用 10 楼 cyg17173 的回复:] 接收的数据明显不对,地磅的设置有问题。 一般设置成功的数据都是这样,如8.62 Kg的数据格式: =26.8000=26.8000=26.8000=26.8000 如果没秤东西,串口连接成功,则接收的数据一般是 =00.0000
[quote=引用 11 楼 qq_38588710 的回复:] [quote=引用 10 楼 cyg17173 的回复:] 接收的数据明显不对,地磅的设置有问题。 一般设置成功的数据都是这样,如8.62 Kg的数据格式: =26.8000=26.8000=26.8000=26.8000 如果没秤东西,串口连接成功,则接收的数据一般是 =00.0000
[quote=引用 10 楼 cyg17173 的回复:] 接收的数据明显不对,地磅的设置有问题。 一般设置成功的数据都是这样,如8.62 Kg的数据格式: =26.8000=26.8000=26.8000=26.8000 如果没秤东西,串口连接成功,则接收的数据一般是 =00.0000
接收的数据明显不对,地磅的设置有问题。 一般设置成功的数据都是这样,如8.62 Kg的数据格式: =26.8000=26.8000=26.8000=26.8000 如果没秤东西,串口连接成功,则接收的数据一般是 =00.0000
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧