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

串口调试助手接收数据时为什么可以自动识别数据是16位或是32位的?

下位机通过串口给电脑发送32位的数据,如果用串口调试助手可以识别出来发的是32位的数据,这是怎么做到的?比如下位机发的是65535,串口调试助手就会显示65535,但是串口发送数据都是一个字节一个字节发的,为什么会自动就显示出来65535,而不是分成两个字节显示呢?程序是怎么实现的?C#编的上位机。
谢谢~ --------------------编程问答-------------------- 不知道你用什么串口调试工具,一般都是一个字节一个字节显示的,正常的显示65535应该是5个字节,
即16进制的 36 35 35 33 35. --------------------编程问答-------------------- 0xFFFF --------------------编程问答--------------------
引用 1 楼 zdbb 的回复:
不知道你用什么串口调试工具,一般都是一个字节一个字节显示的,正常的显示65535应该是5个字节,
即16进制的 36 35 35 33 35.
为什么正常显示是5个字节的呢?不应该是两个字节码? --------------------编程问答-------------------- 这个只是进制显示方式,一般都是16进制、10进制,ASCII显示方式 --------------------编程问答-------------------- 位数和波特率都是要自己设定的,上下位机要相同

读取字节是一个个读的,读取的时候串口缓存已经有所有的数据,当上位机读第六个字节的时候(把串口的timeout设短一点),已经没有内容了,程序就判断一共有5个字节,利用BitConverter.ToString()将每个字节转换成string后连接起来就可以了 --------------------编程问答-------------------- 接受完毕后解码.
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,