Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中从串行端口读取字节流#_C#_Arrays_Serial Port_Byte_Ascii - Fatal编程技术网

C# 在C中从串行端口读取字节流#

C# 在C中从串行端口读取字节流#,c#,arrays,serial-port,byte,ascii,C#,Arrays,Serial Port,Byte,Ascii,我是c#的新手。我有一个串行(COM端口)设备,它连续传输字节数组。该阵列包含由微控制器读取的不同传感器的值。基本上,每个传感器的值由8个字节表示,每个字节表示一个ascii字符。这些字节之间没有分隔符。在32个字节之后,我们有两个字节的回车(D)和一个新行(a) 我使用serialPort1.ReadExisting()从串行端口读取数据,然后在文本框中显示读数。但是,我需要这些传感器的数值来进行绘图和计算。如何将这些值转换为浮点数?或者我应该如何改变读取串行端口的方式 我真的很感谢你的帮助

我是c#的新手。我有一个串行(COM端口)设备,它连续传输字节数组。该阵列包含由微控制器读取的不同传感器的值。基本上,每个传感器的值由8个字节表示,每个字节表示一个ascii字符。这些字节之间没有分隔符。在32个字节之后,我们有两个字节的回车(D)和一个新行(a)

我使用serialPort1.ReadExisting()从串行端口读取数据,然后在文本框中显示读数。但是,我需要这些传感器的数值来进行绘图和计算。如何将这些值转换为浮点数?或者我应该如何改变读取串行端口的方式


我真的很感谢你的帮助

要将字节转换为浮点数,可以使用BitConverter对象。然后调用ToSingle方法

请参阅以获取参考。

听起来您需要阅读发送字节的设备的数据表才能了解大端或小端

如果阅读“00011236”,则可以使用
Int32.Parse()
将其转换为整数,否则取决于值的编码感谢回复。假设我的传感器的十进制值是12.96;然后我在我的流中间得到这样的东西:323 24950465 775你可以尝试玩比特V [ 0 ] +V(1)* 256…如果evalue是整数,但如果是浮点,则检查设备手册上的实现内容