当芯片遇到一些问题时、我处理的是 BQ76930
当写入标志寄存器以控制某些标志时、
从0的现象中、将有一个标志不能被设定为1标志
写入已尝试的位1或0、无法更改标志
例如 SYS_STAT 保护引导标志、CC_EN 电流读取启动标志、CELLBALx 电池平衡标志
只要没有人设置为1、设置为0、就不知道原因
但 ADC_EN、TEMP_SEL、SHOP_A、SHOP_B 这些标志可以设置
这可能是什么原因导致的、如何解决?
在问题的部分、我无法修改临时寄存器:
CELLBALx 电池平衡该项目正常、另两个正常或异常、
例如 SYS_STAT 保护启动标志、CC_EN 电流读取启动标志、
并发现另一个问题
当写入暂存区的数据为0x00时、CRC 代码将被错误写入。
但写入其他信息不会有问题、CRC 使用 TI 的计算方法如下
https://e2e.ti.com/support/power_management/battery_management/f/1002/t/513651
unsigned char CRC8 (unsigned char * ptr、unsigned char len、unsigned char key)
{
unsigned char i;
unsigned char crc=0;
while (len--!=0)
{
对于(i=0x80;i!=0;i/=2)
{
if ((CRC & 0x80)!= 0)
{
CRC *= 2;
CRC ^= KEY;
}
其他
CRC *= 2;
如果(*ptr & I)!=0 )
CRC ^= KEY;
}
PTR++;
}
return (CRC);
}
使用0x107、0x07、0x7上的密钥是否会产生0x00错误。
这一部分是如何解决的、谢谢