21,595
社区成员
发帖
与我相关
我的任务
分享
/******************************************************************************
* Name: CRC-7 X7+X6+X5+X2+1
* Poly: 0x65
* Init: 0x00
*****************************************************************************/
uint8_t crc7_mmc(uint8_t *data, uint_len length)
{
uint8_t i;
uint8_t crc = 0; // Initial value
while(length--)
{
crc ^= *data++; // crc ^= *data; data++;
for ( i = 0; i < 8; i++ )
{
if ( crc & 0x80 )
crc = (crc << 1) ^ 0xCA; // 0xCA = 0x65<<(8-7)
else
crc <<= 1;
}
}
return crc >> 1;
}