线缆测试,手机端程序说明

总体功能:

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.”。

原文地址:https://www.cnblogs.com/aliang-0088/p/7101215.html