标签:第一个 一个 lin 编号 数据区 数组 设备 sig 占用
总体功能:
1.手机APP通过蓝牙连接到测试设备。
2.通过蓝牙发送48字节十六进制数。
3.通过蓝牙接收48字节十六进制数。
4.分析48字节十六进制数,生成文本文件。
5.文本文件的管理。
48字节十六进制数
格式:
字节数:变长,测试数据字节数加 8。
三部分:首部、数据、尾部
0XDD,0XDD,0XDD,
0X**,
0X00,
0XFE,0XFF,0XFF,0XFF,
………………
0X55,0X55,0X55
发送:
0XDD,0XDD,0XDD,
0X30,
0X00,
0XFF,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X55,0X55,0X55
在数据区只有指定的一位是0。
接收:
0XDD,0XDD,0XDD,
0X30,
0X09,
0XFF,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X55,0X55,0X55
接收到的数据中,由若干位是0。
发送部分结构:
下标为线序,字节内容分两部分。
第一字节的值代表该条线所在字节的偏移量,第二字节中的1代表该条线所在的位。
unsigned char code indexLine[30][2]=
{
2,2, //P2.1
2,4, //P2.2
2,1, //P2.0
2,8, //P2.3
3,128, //P3.7
2,16, //P2.4
3,64, //P3.6
2,32, //P2.5
3,32, //P3.5
2,64, //P2.6
3,16, //P3.4
2,128, //P2.7
3,8, //P3.3
3,4, //P3.2
1,128, //P1.7
0,128, //P0.7
1,64, //P1.6
0,64, //P0.6
1,32, //P1.5
0,32, //P0.5
1,16, //P1.4
0,16, //P0.4
1,8, //P1.3
0,8, //P0.3
1,4, //P1.2
0,4, //P0.2
1,2, //P1.1
0,2, //P0.1
1,1, //P1.0
0,1 //P0.0
};
目前设计的线束是按照30线一组,占用4字节。数据区共 40 字节,最大线数(位数)300。
在发送数据的数据区,依次发送1,2,3,…… 100…… 的检测信号。发送前根据编号确定对应的数据。
例:
第一个发送编号 1 的测试数据,先确定在 第一个30 线组 。再从 indexLine[30][2] 查到 第一条线 数组中下标为 0 ,对应元素为:“2,2,”。说明是在第一个 30线 组中的 字节偏移量为2,位偏移量为2,此位为0。
0XDD,0XDD,0XDD,
0X30,
0X00,
0XFF,0XFB,0XFF,0XFF, //0xFD -> 1111 1011
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,
0X55,0X55,0X55
例:
第一个发送编号 56 的测试数据,先确定在 第2(56/20)个30 线组 。从 indexLine[30][2] 查到 第26(56%30)条线 数组中下标为25 ,对应元素为:“1,4,”。说明是在第2个 30线 组中的 字节偏移量为1,位偏移量为4,此位为0。
0XDD,0XDD,0XDD,
0X30,
0X00,
0XFF, 0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0XFF, //0xEF -> 1110 1111
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X55,0X55,0X55
例:
接收到如下数据:
0XDD,0XDD,0XDD,
0X30,
0X09,
0XFF,0XFE,0XFF,0XFF, // 1-----30 29
0XFF,0XFF,0XFF,0XFF, //31---60
0XFF,0XFF,0X7F,0XFF, //61---90
0XFF,0XFF,0XFF,0XFF, //91---120
0XFF,0XFF,0XFF,0XFF, //121
0XFF,0XFF,0XFF,0XFF, //151
0XFF,0XFF,0XFF,0XFF, //181
0XFF,0XFF,0XFC,0XFF, //211
0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,
0X55,0X55,0X55
接收到的数据中,由若干位是0。
//数据区 第10字节,本组中偏移量 2; 0111 1111 ,最高位,偏移量是7。
第10字节第8位。
说明是在 第3个30线组,。查表得知在本组中第 12 线,整个排列中线序号为72。
第二个 包含 0 的 数据 0xFC –〉1111 1100 。分别为第 211,213线。
本次接收到的数据,检测到0 的位对应数字为:29,211,213。
在文本中保存文本”29,211,213.”。
标签:第一个 一个 lin 编号 数据区 数组 设备 sig 占用
原文地址:http://www.cnblogs.com/aliang-0088/p/7101215.html