STM32单片机读取bq40z50数据时,偶尔会出现写入器件地址有响应,写入寄存器地址时,无响应,频率不高,一天会出现一次。
另外一个现象,偶尔读取数据出错,比如一个寄存器值正常回读为0x17 0x01加上CRC校验字节,偶尔会出现回读值为0x17 0x17 0x17,即芯片会把第一个字节重复发送三遍。尝试过模拟收到第一个字节不给ACK,后续读回为0xff 0xff,确定不是此原因。
SMBUS驱动仔细检查过,不会有问题,猜测会不会是bq40z50芯片没有及时准备好数据,导致数据传输的时候重复传输第一个字节。
望大神指点下!!!