初级会员

- 积分
- 193
- 金钱
- 193
- 注册时间
- 2019-7-23
- 在线时间
- 22 小时
|
10金钱
最近在做串口数据帧通过蓝牙透传到移动端,发现课设需要在数据帧末端加一个异或校验,然后又想起常用的CRC校验,所以想知道一下这两个校验方法在STM32下是怎么实现的?
我用C语言做了一个异或校验,但是做不出0xhh这样的效果,源码是这样的:
static unsigned char Fun_Bcc_Create( char* p1, unsigned short int len)
{
unsigned char bcc = 0;
for (; len > 0; len--)
{
bcc ^= *p1++;
}
return bcc;
}
main函数中是这样的:
char str_test[] = "$GPRMC,100010.10,N,678890.7866,E,N*45";
Fun_Bcc_Create(str_test,strlen(str_test));
结果打印出来成了0XF21770,有两个问题
1.怎样才能做出0Xhh这样的异或校验呢?
2.怎样实现CRC校验?
感谢大佬翻牌子!!!
|
|