其实,对于下位机给出通讯的数据结构的情况下,可以直接使用C#的struct将数据直接转换。需要使用到数据结构假定下位机给到我们的数据结构是这个,传输方式为小端方式方法1首先需要定义一个struct:然后使用以下注意这里我使用的方式为方法2提示是对齐的错误,这个和编译的时候使用的32bit和64位是相关的,详细数据封送对齐的操作我不就详细说了,贴下代码。方法3微软不是很推荐使用方法4感觉写起来还是很麻烦,既然用上了这样,获得数组可以直接正常访问,不再需要总结数据解析作为上下位机通讯的常用操作,使用struct直接转换数据可以大大简化工作量。

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码

C#使用struct直接转换下位机数据的示例代码