【发布时间】:2014-01-19 05:49:52
【问题描述】:
我有一个需要对结构执行 CRC 操作的应用程序。我决定完成此任务的最佳方法是简单地遍历构成结构的所有单个字节并将它们添加到 CRC 例程中。严格命名为 Config,类型为 ConfigT。下面的代码大致描述了我想要做什么,我只需要了解使用指针算法访问结构字节的语法。
uint16_t CalculateEepromChecksum()
{
uint16_t crc = 0;
uint8_t *ptr = &Config;
for (uint32_t i = 0; i < sizeof(ConfigT); i++)
{
crc = _crc16_update(crc, ptr[i]);
}
return crc;
}
此函数编译失败:
cannot convert 'ConfigT*' to 'uint8_t* {aka unsigned char*}' in initialization
...在以下行:
uint8_t *ptr = &Config;
【问题讨论】: