请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:BQ27426 您好!
我正在尝试使 BQ27426的 RAM 保存/恢复代码正常工作(特别是、我尝试将状态子类和 Ra 子类存储到非易失性存储器、然后将它们写回器件)。 我认为该过程工作正常、但我仍然不确定校验和的工作方式。
技术参考说明 BlockDataChecksum 保存了当前可寻址的32个字节总和的 LSB、并且我应该在写入以将数据传输到 RAM 后写入校验和的补码(255 -(校验和& 0xFF)。 该文档中有一些示例、展示了如何通过读取旧校验和并读取将要替换的旧数据来计算新校验和、但如果可能、我希望尽量避免这种情况。 我还想通过计算我的末尾的校验和来检查我读取的数据是否正确
我特别不确定这一切是如何工作的、因为 State 子类和 Ra 子类的长度都小于32字节(分别为31和30字节)。 我是否应该添加填充和写入/读取整个32个字节? 在设置子类和偏移后、我是否需要等待一段时间才能读取数据并计算校验和、或者我是否可以立即开始读取/写入? 现在、我将在设置子类和偏移量、计算校验和(通过添加所有字节然后获取 LSB)之后立即读取状态子类的31个字节、并且它与 BlockDataChecksum 的值不匹配。
谢谢!