呵呵,这个东西困扰了几天,今天又发现一个BUG,查询资料的过程中遇到的都是项目推广的东西,没几篇帖子认真的仔细的说说怎么来解析,好不容易弄出来了,发出来大家参考一下!!!
只是简单的模拟一下解析的过程,如果你还需要更为详细的GPS框架实现,可能你还要多查查资料了。。。
假定模块发送的数据是:
byte tmpBytes = new byte[]
{
0x7E, 0x02, 0x00, 0x00, 0x3C, 0x01, 0x56, 0x09, 0x52, 0x25, 0x04, 0x3C, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0C, 0x00, 0xC3, 0x02, 0x49, 0x8B, 0x68, 0x06, 0x52, 0xBC, 0xF0, 0x04, 0x65, 0x00, 0x00, 0x00,
0xAA, 0x16, 0x08, 0x20, 0x16, 0x27, 0x18, 0x01, 0x04, 0x00, 0x03, 0x07, 0xBC, 0x02, 0x02, 0x01, 0x32,
0x03, 0x02, 0x00, 0x00, 0x25, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x04, 0x00, 0x00, 0x00, 0x00, 0x30,
0x01, 0x18, 0x31, 0x01, 0x08, 0x57, 0x7E
};
然后服务端收到的数据转为字符后结果如下(此过程转换方法见方法1):
7E0200003C0156095225043C7800000000000C00C302498B680652BCF00465000000AA1608201627180104000307BC0202