打印

GD32学习笔记之九 -GD32的CRC校验

[复制链接]
1523|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2014-8-17 17:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
GD32的硬件支持CRC的校验,这个功能是以前没有碰到过的,现在开始从头学起
沙发
sunmeat|  楼主 | 2014-8-17 17:55 | 只看该作者
CRC校验的计算框图如下

使用特权

评论回复
板凳
sunmeat|  楼主 | 2014-8-17 18:02 | 只看该作者
1.从上图上看,CRC应该包括一个输入数据寄存器和一个输出数据寄存器,而事实上,CRC的输入和输出是共用一个寄存器的,输入的数据被写入CRC_DTR寄存器中,转换后的值直接被保存在CRC_DTR寄存器中

使用特权

评论回复
地板
sunmeat|  楼主 | 2014-8-17 18:04 | 只看该作者
2.CRC_DTR寄存器的值如果不及时清零,新写入的值会基于原来的值进行CRC校验,写CRC_CTRL寄存器进行清零

使用特权

评论回复
5
sunmeat|  楼主 | 2014-8-17 18:06 | 只看该作者
3.CRC可以对8/16/32位数据进行计算,所使用的时间也不同

使用特权

评论回复
6
sunmeat|  楼主 | 2014-8-17 18:07 | 只看该作者
4.CRC_FDTR不知道有什么用,感觉是多余的

使用特权

评论回复
7
sunmeat|  楼主 | 2014-8-17 18:09 | 只看该作者
5.还有一个CRC初值寄存器,复位后这里面的值被更新到CRC_DTR中,到可以用来保存一个数据,不知道这个数据是否会掉电保存呢,不然也没什么意义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝