完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
算法(c# 语言)如下:(这个是论文上的范例)
public virtual byte GetCRCByte(byte[] data) { int crc = 0x0; (初始值为0) foreach (byte bt in data) { crc = crc ^ bt; for (int j = 1; j <= 8; j++) { if ((crc & 0x80) == 0x80) crc = (crc << 1) ^ 0xE5; 多项式值为E5,被校验值左移 else crc = crc << 1; } } return (byte)crc; } 校验示例: 被校验字节串:3165430C00408F01,CRC 值为 07H。 现在我想用C语言编写:如下,结果CRC 值为C2H。求高手指导! unsigned char GetCRC(unsigned char *ptr, unsigned char len) { unsigned char crc=0x00; unsigned char i; while(len--) { crc=crc^*ptr++; for(i=0;i<8;i++) { if(crc&0x80==0x80) //if(crc & 0x01) { crc=(crc<<1)^0xE5; } else { crc=crc<<1; } } } return crc; } |
|
相关推荐
3个回答
|
|
顶,有没有高手指导啊
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用stm32l451片子,对ad7606进行3通道100k采样值跳动问题?
1060 浏览 1 评论
STM32进行DMA数据转运,为什么只有A组最后一位数据被转运到B组去?
1541 浏览 2 评论
1852 浏览 3 评论
1447 浏览 0 评论
嵌入式开发 Win11安装ST-Link 提示 设备描述符请求失败 怎么处理?
1584 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-26 04:24 , Processed in 0.549394 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191