直接上代码
int n = Comm1.BytesToRead;
double i = 1;
if ((n < 14))
{
return;
}
byte[] data = new byte[14];
Comm1.Read(data, 0, data.Length);
if (data[0] == 0x2B)
{
for (int j = 0; j < (data[6] % 16); j++)
{
i = i * 10.0;
}
i = ((data[5] % 16) * 10000 + (data[1] % 16) * 1000 + (data[2] % 16) * 100 + (data[3] % 16) * 10 + (data[4] % 16)) / i;
}
1、实例化一个串口Comm1
2、读取Comm1字节数放到n中(万用表要长按开启232)
3、将n的长度对比14,小于14的丢弃(会有一些我们读取万用表数据不需要的数据,所以小于14的直接丢弃就行)
4、将数据存到data中
5、如果是0x2b开头的就收取然后解析i即为万用表数据
6、根据具体万用表挡位调整小数点位置