29,043
社区成员
发帖
与我相关
我的任务
分享
刚接触蓝牙,做得真烦啊,和硬件交流不说,蓝牙回复的数据也要来回转换,现在就卡在这了,,,
找张ASCII码表,观察下各个数字、字母ASCII码值与字符本身的联系
char szSSDest[] = "0001090A0a0F0f";
char szSrc[10] = {0};
szSrc[0] = 0x00;
szSrc[1] = 0x01;
szSrc[2] = 0x09;
szSrc[3] = 0x0A;
szSrc[4] = 0x0a;
szSrc[5] = 0x0F;
szSrc[6] = 0x0f;
char cNum = '0';
char cChar = 'A' - 0x0A;
char cLittle = 'a' - 0x0a;
char szDest[20] = {0};
szDest[0] = ((szSrc[0] >> 4) & 0x0F) + cNum;
szDest[1] = (szSrc[0] & 0x0F) + cNum;
szDest[2] = ((szSrc[1] >> 4) & 0x0F) + cNum;
szDest[3] = (szSrc[1] & 0x0F) + cNum;
szDest[4] = ((szSrc[2] >> 4) & 0x0F) + cNum;
szDest[5] = (szSrc[2] & 0x0F) + cNum;
szDest[6] = ((szSrc[3] >> 4) & 0x0F) + cNum;
szDest[7] = (szSrc[3] & 0x0F) + cChar;
szDest[8] = ((szSrc[4] >> 4) & 0x0F) + cNum;
szDest[9] = (szSrc[4] & 0x0F) + cLittle;
szDest[10] = ((szSrc[5] >> 4) & 0x0F) + cNum;
szDest[11] = (szSrc[5] & 0x0F) + cChar;
szDest[12] = ((szSrc[6] >> 4) & 0x0F) + cNum;
szDest[13] = (szSrc[6] & 0x0F) + cLittle;
szDest[14] = 0;
printf("szDest {%s} \r\n", szDest);
printf("szSSDest {%s} \r\n", szSSDest);