temp =0xffffffff & ( *(head + 14) + *(head + 15)*0x00000100 + *(head + 16)*0x00010000 + *(head + 17)*0x01000000); temp8 = 0xff & (*(head +30)); GPS_Info->longtitude = temp / 10000000.0 + temp8 / 1000000000.0; temp =0xffffffff & ( *(head + 18) + *(head + 19)*0x00000100 + *(head + 20)*0x00010000 + *(head + 21)*0x01000000); temp8 = 0xff & (*(head +31)); GPS_Info->latitude = temp / 10000000.0 + temp8 / 1000000000.0; |
就是名称叫做“head”这个数组里面第14+1个成员
*(head + 14)
就是取这个成员的值
大神能详细给我讲讲( *(head + 14) + *(head + 15)*0x00000100 + *(head + 16)*0x00010000 + *(head + 17)*0x01000000);这块嘛 *(head + 15)*0x00000100这是什么意思 他们一串相加又是什么意思
评分
查看全部评分
就是左移8位的意思,把 * 0x100 换成 << 8 会更好
评分
查看全部评分
*(head + 15)就是指针指向的内容;
*(head + 15)*0x00000100,指针指向内容乘后面的数;
一级一级慢慢算吧
评分
查看全部评分
static uint8_t Buffer[512];
static uint8_t Buffer2[512] 这个buffer是什么意思呢
相当于 head[14] + head[15] * 4 + head[16] * 16 + head[17]......
或者 head[14] + head[15]<< 2 + head[16] << 4 + head[17]......