C#读取串口通信数据中怎么把数据长度取出来
各位大哥帮帮忙:
我把下几位返回的数据存储在一个字节数组 mbuffer中,格式是: AB 02 C1 CD, 其中AB为开始标志,CD为结束标志,02为数据包长度,C1为数据包内容。
我现在要获取数据包的长度,也就是02这个数据。获取这个长度后我实例化一个(长度 - 1)大小的字节数组去读取数据包的内容,也就是读取CD。
我用int aTemp = Convert.ToInt32(mBuffer[ReadIndex + 1]); 这个为什么有时候aTemp返回是0?我在监视窗口中看到Convert.ToInt32(mBuffer[ReadIndex + 1])的值是2,为什么赋值给aTemp的时候就变成0了,而且是随机的发生这种情况,大多书情况下aTemp 是等于2的。
说明:ReadIndex是读缓冲区的指针,此时ReadIndex正好是AB在mBuffer中的索引,所以用ReadIndex + 1作为好读取 02 的索引,不过读取的值在转换的时候有时候正确,有时候错误...
哪位哥哥指点一、二?