完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
近期在做一个数据采集传输模块,采集6000多个数据打包,使用CRC校验。网上查找的相关verilog程序均是对单一数据处理的程序,没有对一个完整数据包的处理。c倒是有之前使用过的程序,但语言转换不熟练,所以暂时卡住了。望大神指教。下面贴出c的程序。
u16 cal_crc16(u8 *ptr, u16 len) { u16 crc; u16 i; crc=0; while(len--!=0) { for(i=0x80; i!=0; i/=2){ if((crc&0x8000)!=0){ crc *= 2; crc ^= CRC16_CCITT; } else{ crc *= 2; } if((*ptr&i)!=0){ crc ^= CRC16_CCITT; } } ptr++; } return(crc); } 我自己的想法还是基于网上verilog程序的思路。由于使用的是CRC_CCITT,将接收到的数据存入一个寄存器,按字节逆序,计算完毕之后再逆序。不知道这样对不对。 |
|
相关推荐
2个回答
|
|
Verilog进行二进制运算也是可以的
|
|
|
|
我记得友晶的官网上直接就可以生成crc校验的verilog的代码
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1480 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1068 浏览 0 评论
2564 浏览 1 评论
2252 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2522 浏览 0 评论
1990 浏览 54 评论
6034 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 05:50 , Processed in 0.503518 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号