完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//通过CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-2 ) && 0XFF00 ) 来获取高字节;
//通过CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-1 ) && 0X00FF ) 来获取低字节; //现在遇到的问题是:获取不到正确的CRC值,请各路大神帮忙分析下,是获取方式不对,还是CRC校验程序不对,谢谢! //CRC查表校验函数 //puchMsgg为待校验数据的首地址DataLen为待校验数据个数,返回值为校验结果 u16 CRC16( u8 puchMsgg, u8 DataLen ) { u8 uchCRCHi=0xFF; //CRC高字节初始化 u8 uchCRCLo=0xFF; //CRC低字节初始化 u8 uIndex; //CRC循环中的索引 crc16_Base_address=0; while( DataLen-- ) //传输消息缓冲区 { // uIndex=uchCRCHi^puchMsgg++; //计算CRC uIndex=uchCRCHi^puchMsgg; crc16_Base_address+=1; uchCRCHi=uchCRCLo^auchCRCHi[uIndex]; uchCRCLo=auchCRCLo[uIndex]; } return( (uchCRCHi<<8) | uchCRCLo ); } //CRC高低字节顺序为,高字节在前,低字节在后; //通过CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-2 ) && 0XFF00 ) 来获取高字节; //通过CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-1 ) && 0X00FF ) 来获取低字节。 //如果接收到的高字节校验码,与计算出来的高字节校验码一致 if( rcv_bufferfer_temp[rcv_num_temp-2]== CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-2 ) && 0XFF00 ) { //如果接收到的低字节校验码,与计算出来的低字节校验码一致 if( rcv_bufferfer_temp[rcv_num_temp-1]== CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-2 ) && 0X00FF ) { rcv_data_correct= 1; //接收到了一帧正确的数据 } } |
|
相关推荐
14个回答
|
|
crc时钟开了没有,它可是要配置时钟的
|
|
|
|
if( rcv_bufferfer_temp[rcv_num_temp-2]== CRC16( rcv_bufferfer_temp[crc16_Base_address], rcv_num_temp-2 ) && 0XFF00 )
不知道你的rcv_bufferfer_temp是U8还是U16,如果是U8,那么这个代码就不对了。==后面的部分应该右移8位 看着你的代码意思rcv_bufferfer_temp是U8的。 你看看 |
|
|
|
帮顶,帮顶
|
|
|
|
:):):)
|
|
|
|
tyewybvwe 发表于 2018-11-20 15:23 rcv_bufferfer_temp是U8的,请指教,谢谢 |
|
|
|
|
|
|
|
这个跟时钟还有关系?
|
|
|
|
我估计是只管照搬CRC校验程序,完全不管其中意思的。。。。。
|
|
|
|
|
|
|
|
固件库的例程 CRC的 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE); |
|
|
|
这个跟时钟还有关系?
|
|
|
|
正在研究CRC。。。
|
|
|
|
配置不对
|
|
|
|
你怎么判断是计算出来的值不对的呢?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 13:12 , Processed in 0.892882 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号