完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛扫一扫,分享给好友
|
有字符数组假设为“0+3.14”
根据找的资料写程式如下: unsigned char j; unsigned char len=strlen(CRC_Test); unsigned char *ptr; crc=0xFFFF; ptr=CRC_Test; while(len!=0) { crc^=(*ptr); for(j=0;j<=7;j++) { if((crc&0x0001)==1) { crc>>1; crc=crc^0xA001; } else crc>>1; } ptr++; len--; } 把十六位的CRC值编码成ASCII码: unsigned char character1,character2,character3; character1=(unsigned char)(0x40|(crc>>12)); character2=(unsigned char)(0x40|((crc>>6)&0x3F)); character3=(unsigned char)(0x40|(crc&0x3F)); 书上例题正确为0+3.14OqZ 但是我的出来的却是:0+3.14O| 为什么啊??? 有些资料是说crc初始为0x0000,我有试过也没用~~ 哪位大侠帮忙呗!!!万分感谢啊~!!! |
|
相关推荐
2个回答
|
|
|
忘写了,是CRC-16
|
|
|
|
|
|
经高人指点现问题已解决~~
unsigned char j; unsigned char len=strlen(CRC_Test); unsigned char *ptr; crc=0x0000; ptr=CRC_Test; while(len!=0) { crc^=(*ptr); for(j=0;j<=7;j++) { if((crc&0x0001)==1) { crc>>=1; crc=crc^0xA001; } else crc>>=1; } ptr++; len--; } 已调试OK!!{:soso_e121:} |
|
|
|
|
只有小组成员才能发言,加入小组>>
4505 浏览 0 评论
9669 浏览 0 评论
6358 浏览 0 评论
4774 浏览 1 评论
5758 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
749浏览 2评论
1029浏览 2评论
12625浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
934浏览 1评论
1293浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:05 , Processed in 0.793434 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
637