如题,我发送new_checksum到0x60(已经按照新的0x40~0x5F之间的值进行计算,应该是正确的校验和),写进去了,bq27510也又给我应答,但是再去读0x60寄存器发现校验和没有更新,还是以前的校验验和值,导致我修改的设计容量没有更新,请问大神们知道这应该怎么解决吗?要修改的值我已经写入DATA FLASH里了,我读出来也是我修改的值,但是校验和验证没有通过导致用0x2E读的设计容量数据一直没有更新。跪求大佬们解答。
1. 发送design capacity 寄存器的subcalss 到0x3E/0x3F(根据datasheet的Data Flash Summary的表格,design capacity是subclass,48。需要写入16进制)
W:AA 61 00
W : AA 3E 30 00
2. 发送需要修改的寄存器offset到0x40~0x5F之间,design capacity的offset是10,给0x40+10, 即0x4A,假设为2000mAh
W: AA 4A 07 D0
3.发送checksum到0x60,(需要按照新的0x40~0x5F之间的值进行计算
W:AA 60 new_checksum
我流程基本是这样的
上图是我把new_checksum写入0x60中,但是每一次写SCL(蓝线)都会出现这个波形,会不会是这个原因导致数据没有写入到0x60中呢?
