整體功能:數組
1.手機APP經過藍牙鏈接到測試設備。測試
2.經過藍牙發送48字節十六進制數。設計
3.經過藍牙接收48字節十六進制數。code
4.分析48字節十六進制數,生成文本文件。數據
5.文本文件的管理。di
48字節十六進制數文件
格式:co
字節數:變長,測試數據字節數加 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.」。