提取整数 – bytesToInt
从字节数组中提取整数。通常配合上位机协议解析器控件使用。
将从起始位置开始的4个字节,转换成整数
定义
int bytesToInt(byte a[], int start, int mode);
参数
- array:
字节数组
- start:
起始位置
- mode:
字节端序 0、1、2、3
字节端序说明:原数据顺序 AA BB CC DD
0:DD CC BB AA
1:AA BB CC DD
2:CC DD AA BB
3:BB AA DD CC
返回值
提取出来的整数
示例
byte a[4] = {0x00, 0x00, 0x01,0x02};
num0.val = bytesToInt(a,0,1);//端序1,整数控件num0显示为258 (即0x0102)
//在我们串口屏实际使用中,4字节传递int数据的情况不常用,更多的是2字节的int数据,此时可以通过移位按位或拼接
byte b[4] = {0x01, 0x02, 0x03, 0x04};
num1.val = ((b[0]<<8) | b[1]); // num1.val = 258
num1.val = ((b[3]<<8) | b[2]); // num1.val = 1027