欢迎访问ic37.com |
会员登录 免费注册
发布采购

C8051F806-GU 参数 Datasheet PDF下载

C8051F806-GU图片预览
型号: C8051F806-GU
PDF下载: 下载PDF文件 查看货源
内容描述: 混合信号ISP功能的Flash MCU系列 [Mixed Signal ISP Flash MCU Family]
分类和应用:
文件页数/大小: 250 页 / 1303 K
品牌: SILABS [ SILICON LABORATORIES ]
 浏览型号C8051F806-GU的Datasheet PDF文件第156页浏览型号C8051F806-GU的Datasheet PDF文件第157页浏览型号C8051F806-GU的Datasheet PDF文件第158页浏览型号C8051F806-GU的Datasheet PDF文件第159页浏览型号C8051F806-GU的Datasheet PDF文件第161页浏览型号C8051F806-GU的Datasheet PDF文件第162页浏览型号C8051F806-GU的Datasheet PDF文件第163页浏览型号C8051F806-GU的Datasheet PDF文件第164页  
C8051F80x-83x
24.1 。 16位CRC算法
在C8051F80x - 83X CRC单元计算的16位CRC MSB优先,使用0x1021一聚。以下
描述了由硬件执行的16位CRC算法:
1.异或的当前CRC结果与输入字节的最显著字节。如果这是第一次迭代
CRC校验单元,当前的CRC结果将设定的初始值( 0×0000或为0xFFFF ) 。
2.如果CRC结果的最高有效位被置位,左移CRC结果,然后异或CRC结果与
多项式( 0x1021 ) 。
3.如果没有设置的CRC校验结果的MSB ,左移位的CRC结果。
4.重复步骤2对输入比特的数目( 8)。
例如,在16位C8051F80x - 83X的CRC算法可以被描述通过下面的代码:
无符号短UpdateCRC (无符号短CRC_acc ,无符号字符型CRC_input ) {
unsigned char型我;
//循环计数器
#定义POLY 0x1021
//创建的CRC "dividend"多项式运算(二进制算术
//没有执行)
CRC_acc = CRC_acc ^ ( CRC_input << 8 ) ;
// "Divide"聚成使用CRC XOR减派息
// CRC_acc保存每个鸿沟"remainder"
//只有完成这样的划分为8位,因为输入的是1个字节
对于( i = 0 ;我< 8 ; i ++在)
{
//检查MSB被置位( MSB是否为1 ,则POLY可以"divide"
//进入"dividend" )
如果( ( CRC_acc &为0x8000 ) == 0x8000)时
{
//若有,转移的CRC值,和XOR "subtract"聚
CRC_acc = CRC_acc << 1 ;
CRC_acc ^ = POLY ;
}
其他
{
//如果没有,只是转移的CRC值
CRC_acc = CRC_acc << 1 ;
}
}
返回CRC_acc ; //返回最后的余数( CRC值)
}
算法( 0xFFFF的的初始值被使用) :
表24.1 。例如16位CRC校验输出
输入
0x63
为0xAA ,为0xBB ,的0xCC
为0x00 , 0x00时,为0xAA ,为0xBB ,的0xCC
产量
0xBD35
0x6CF6
0xB166
160
1.0版