This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ2022A:CRC 计算

Guru**** 1807890 points
Other Parts Discussed in Thread: BQ2022A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1431805/bq2022a-crc-calculation

器件型号:BQ2022A

工具与软件:

你好  

我将使用以下函数计算从 BQ2022A 返回的 CRC 值。 但是、我不确定 BQ2022A 使用的是什么作为初始 CRC 值。 我在数据表中找不到它。 有人能帮忙吗?

谢谢

Ron

#define CRC8_POLY 0x31 // x^8 + x^5 + x^4 + 1
#define CRC8_INIT 0xFF //初始 CRC 值

uint8_t calc_CRC8 (const uint8_t *数据、size_t 长度)

uint8_t crc = CRC8_init;

对于(size_t i = 0;i < length;i++)

CRC ^= data[i];

对于(uint8_t j = 0;j < 8;j++)

如果(CRC 和0x80)

CRC =(CRC << 1)^ CRC8_Poly;
}
设计

CRC <<= 1;
}
}
}

返回 CRC;
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ron:

    初始值应为0x00。

    此致、

    Max Verboncoeur