软件介绍:crc16计算器,一个小巧实用的CRC16计算器CRC16Calculater,免***绿色版。能够计算CRC-160-IBM(8008)/CRC-16-CCITT(1021)输入原始数据(十六进制数),校验码(低字节在前,高字节在后)
下载地址:
如果您发现该软件不能下载,为了保证您快速的下载,推荐使用[网际快车]等专业工具下载. 为确保所下软件能正常使用,请使用[WinRAR v3.8]或以上版本解压本站软件.站内软件都是由网上收集,只供网友学习使用,如果所收集的软件侵犯了您的版权,请告知。stm32 串口通信中的 CRC16校验的问题 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 7219|回复: 8
stm32 串口通信中的 CRC16校验的问题
在线时间0 小时
主题帖子好友
新手上路, 积分 83, 距离下一级还需 -33 积分
新手上路, 积分 83, 距离下一级还需 -33 积分
#include &hw_config.h&
& & & & uint16_t adcx1,adcx2,temp1,temp2,crc_
//& & & & uint16_t crc16=0
& & & & uint16_t Reg_CRC=0
& & & & uint8_t uart1_buf[5];
& & & & int count1=0;
& & & & int Flag=0;
& & & & uint8_t PX1[400];
& & & & uint16_t PX2[30];
& & & & uint8_t *p=PX1;
& & & & uint16_
& & & & int i,j,z,k;
& & & & u8 table[5];
& & & & uint8_t *p2=uart1_
void Delay(void)
& & & & int x,y;
& & & & for(x=1000;x&0;x--)
& & & & & & & & for(y=1000;y&0;y--);
int main(void)
& & & & SystemInit();
/*系统初始化*/
& & & & NVIC_Configuration();
& & & & LED_Configuration();
& & & & USART_Configuration();
& & & & ADC_Configuration();
& & & & while (1)
& & & & & & & & if(Flag==1)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & & & & & if(uart1_buf[0]==0x03)
& & & & & & & & & & & & {
& & & & & & & &
& & & & & & & & & & & & & & & & Uart1_PutString(p2 , 5);
//& & & & & & & & & & & & & & & & crc16=0
//& & & & & & & & & & & & & & & & for(z=0;z 1) ^ 0xa001;
//& & & & & & & & else
//& & & & & & & & & & & & crc16 = crc16 && 1;
//& & & & }
CRC16_Check(uint8_t *Pushdata,uint8_t length)
& & & & uint16_t Reg_CRC=0
& & & & int k,
& & & & for(k=0;k1^0xA001;
& & & & & & & & & & & & else
& & & & & & & & & & & & & & & & Reg_CRC &&=1;
& & & & & & & & }& & & &
& & & & return (Reg_CRC);
这是我stm32中程序,我上位机用labview发送03 c8 c8 另加上这三个数的CRC16校验码 总共五个数值发给stm32下位机,下位机中判断第一位是否为03 和最后两位CRC校验码是否正确。判断正确之后再将ADC1采样的值发送给上位机。 这里上位机03 C8 C8 的CRC16校验的结果是 D7 96(先低位再高位)。而我下位机的程序无论是用uint16_t
CRC16_Check(uint8_t *Pushdata,uint8_t length)这个函数还是用
在线时间1 小时
主题帖子好友
金牌会员, 积分 1042, 距离下一级还需 3958 积分
金牌会员, 积分 1042, 距离下一级还需 3958 积分
RE:stm32 串口通信中的 CRC16校验的问题
1、网上有现成的CRC校验函数,看看你上位机使用的crc 和stm32使用的crc 精度是不是一样的, crc 精度包括crc8 crc16&&crc32;
2、建议自己写一个ut用例, 测试下自己的crc代码是否写正确的,可以用一个软件生成crc ,再和自己代码crc生成的数据比一次。
3、你首先要自己验证自己的函数, 再上板测试
在线时间95 小时
主题帖子好友
金牌会员, 积分 1592, 距离下一级还需 3408 积分
金牌会员, 积分 1592, 距离下一级还需 3408 积分
RE:stm32 串口通信中的 CRC16校验的问题
CRC16的校验码产生方式不同,还是用统一的代码产生CRC校验吗把。
在线时间0 小时
主题帖子好友
新手上路, 积分 83, 距离下一级还需 -33 积分
新手上路, 积分 83, 距离下一级还需 -33 积分
回复:stm32 串口通信中的 CRC16校验的问题
回复第 2 楼 于 21:56:17发表:
1、网上有现成的CRC校验函数,看看你上位机使用的crc 和stm32使用的crc 精度是不是一样的, crc 精度包括crc8 crc16&&crc32;
2、建议自己写一个ut用例, 测试下自己的crc代码是否写正确的,可以用一个软件生成crc ,再和自己代码crc生成的数据比一次。
3、你首先要自己验证自己的函数, 再上板测试
我将写在板子上的CRC16校验程序放在microsoft visual c++ 6.0中试验了一下,他的结果也是D7 96但是我用板子校验,结果怎么就错了真是奇怪了。不懂为什么不懂哪里出错了
在线时间0 小时
主题帖子好友
新手上路, 积分 83, 距离下一级还需 -33 积分
新手上路, 积分 83, 距离下一级还需 -33 积分
回复:stm32 串口通信中的 CRC16校验的问题
回复第 3 楼 于 12:53:32发表:
CRC16的校验码产生方式不同,还是用统一的代码产生CRC校验吗把。
是的我板子里面的程序和上位机中的校验方式是一样的。不懂为什么结果不同。晕
在线时间4 小时
主题帖子好友
金牌会员, 积分 1400, 距离下一级还需 3600 积分
金牌会员, 积分 1400, 距离下一级还需 3600 积分
RE:stm32 串口通信中的 CRC16校验的问题
crc16&&= 0在子函数中没加上,全局变量...
在线时间16 小时
主题帖子好友
金牌会员, 积分 1106, 距离下一级还需 3894 积分
金牌会员, 积分 1106, 距离下一级还需 3894 积分
RE:stm32 串口通信中的 CRC16校验的问题
有crc的校验软件,可以用!
在线时间5 小时
主题帖子好友
金牌会员, 积分 1339, 距离下一级还需 3661 积分
金牌会员, 积分 1339, 距离下一级还需 3661 积分
RE:stm32 串口通信中的 CRC16校验的问题
CRC校验算法好像分好几种,记得以前在有个工具上见到的
在线时间0 小时
主题帖子好友
金牌会员, 积分 2069, 距离下一级还需 2931 积分
金牌会员, 积分 2069, 距离下一级还需 2931 积分
RE:stm32 串口通信中的 CRC16校验的问题
CRC校验系数有很多种,你可以先用CRC软件计算,然后联调看看每一步是不是计算正确
站长推荐 /2
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by2013年12月 VB大版内专家分月排行榜第二2013年3月 VB大版内专家分月排行榜第二2013年1月 VB大版内专家分月排行榜第二2012年9月 VB大版内专家分月排行榜第二2012年8月 VB大版内专家分月排行榜第二2012年7月 VB大版内专家分月排行榜第二2006年7月 VB大版内专家分月排行榜第二2006年5月 VB大版内专家分月排行榜第二
2014年9月 VB大版内专家分月排行榜第三2013年7月 VB大版内专家分月排行榜第三2013年6月 VB大版内专家分月排行榜第三2013年4月 VB大版内专家分月排行榜第三2012年11月 VB大版内专家分月排行榜第三2006年6月 VB大版内专家分月排行榜第三2006年4月 VB大版内专家分月排行榜第三2002年12月 VB大版内专家分月排行榜第三2002年11月 VB大版内专家分月排行榜第三
2017年3月 VB大版内专家分月排行榜第二2016年12月 VB大版内专家分月排行榜第二2016年10月 VB大版内专家分月排行榜第二2013年11月 VB大版内专家分月排行榜第二
2016年3月 VB大版内专家分月排行榜第三2012年9月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。