【发布时间】:2015-12-01 05:16:53
【问题描述】:
我是 C# 新手。我有一个串行(COM 端口)设备,它连续传输字节数组。该数组包含由微控制器读取的不同传感器的值。基本上每个传感器的值由 8 个字节显示,每个字节代表一个 ascii 字符。这些字节之间没有分隔符。在 32 个字节之后,我们有两个字节的一个回车符 (D) 和一个换行符 (A)。
我使用 serialPort1.ReadExisting() 从串口读取数据,然后在文本框中显示读数。但是,我需要这些传感器的数值来进行绘图和计算。如何将这些值转换为浮点数?或者我应该如何改变我读取串口的方式。
非常感谢您的帮助!
【问题讨论】:
-
如果你读到“00011236”那么你可以使用
Int32.Parse()转换成整数,否则取决于值的编码 -
感谢您的回复。假设我的传感器的十进制值为 12.96;然后我在我的流中间得到这样的东西:32324950465754
-
您可以尝试使用位 v[0]+v[1]*256... 如果 evalue 是整数,但如果它是浮点数,请检查设备手册上的实现
标签: c# arrays serial-port byte ascii