打印

SMBUS中PEC(CRC)16字节表长查表程序

[复制链接]
4445|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2009-10-18 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hotpower 于 2009-10-18 18:28 编辑

SMBUS中PEC(CRC)16字节表长查表程序
此文依据: http://blog.**/hotpower/272834/message.aspx
CRC位域4单表查表及建表原则:
左移位域4取列表16个,大端存储模式。右移位域4取行表16个,小端存储模式。
在SMBUS中的PEC(CRC)的多项式为:左移CRC8=X8+X2+X1+1,即权值=0x07,故建立16字节的PEC表格:
PECTable[16]={0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D};
unsigned char GetPEC(unsigned char crcinit, unsigned char crcval)
{//(可以不要初值crcinit,多字节CRC8时入口需要对crcval做处理)
unsigned char i, crc="0";
  crcval = crcinit ^ crcval;
  for(i = 0;i < 2;i ++)//1个字节位域4需要2次完成
  {
    crc = (crc << 4) ^ PECTable[((crc ^ crcval) >> 4) & 0x0F];//位域宽4单表16个字节
    crcval <<= 4;//准备下一个位域,域宽4
  }
  return crc;
}

菜农HotPower@126.com  2009.10.18 于雁塔菜地

相关帖子

沙发
duojinian| | 2009-10-19 08:50 | 只看该作者
thanks

使用特权

评论回复
板凳
hotpower|  楼主 | 2011-12-26 13:13 | 只看该作者
顶起来,掀起密码安全教育风暴~~~

使用特权

评论回复
地板
flotox| | 2012-10-22 12:05 | 只看该作者
顶起

使用特权

评论回复
5
hotpower|  楼主 | 2012-10-22 18:26 | 只看该作者
又搞挖墓活动?
此算法可以用http://www.hotpage.net.cn/HotPower_HotAjax.html自动生成。
可谓“弹指一挥间”

使用特权

评论回复
6
hotpower|  楼主 | 2012-10-23 18:52 | 只看该作者
本帖最后由 hotpower 于 2012-10-23 18:53 编辑

挖墓为2012.10.25菜农个人版《HotWC3密码体系》开版搜索

使用特权

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

本版积分规则

1538

主题

21697

帖子

506

粉丝