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

2009-10-18 18:34 7209 4 5 分类: MCU/ 嵌入式

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


此文依据: http://blog.ednchina.com/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 于雁塔菜地

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1688454 2012-10-26 09:19

非常感谢大牛
相关推荐阅读
雁塔菜农 2012-04-05 17:51
2012年度新唐Cortex-M0助学开发套件有约束条件赠送申报贴
2012年度新唐Cortex-M0助学套件从4月起每月有约束条件发放16套。 申报人必须是21ic或 EDNC 会员 并具备1月的会龄。 申报时必须注明“遵守约束条件,缴纳250元订金,上...
雁塔菜农 2012-04-05 17:04
2012年度Cortex-M0助学园地推广框图
...
雁塔菜农 2012-04-01 17:59
2012年度Cortex-M0助学园地奖励计划细则
抢楼请点击:菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口) 每月10号和25号的下午2:50进行2次抢楼,规则同去年12月的疯狂抢楼活动。 奖品由21IC、北航、广州迪圣...
雁塔菜农 2012-02-03 08:19
菜农谋略:搞定牛人宋俊德,对女牛人孙昌旭说:“记住,俺是雁塔菜农~~~ ”
http://www.baidu.com/s?wd=%B2%CB%C5%A9%D0%A6%CC%B8%A1%B6%D0%C2%C0%CB%C3%FB%C8%CB%D0%A7%D3%A6%A1%B7...
EE直播间
更多
我要评论
1
4
关闭 站长推荐上一条 /3 下一条