BQ27621 I2C访问
请问有BQ27621 的sample code可以参考下吗?
我读了下DEVICE_TYPE ,不是0621, I2C 验证过没问题,估计是读的命令不对。
先发送的Control 命令: 0x00 0x01
然后发送的Device TYPE sub command: 0x0001
各位高手帮忙看看问题在什么地方,谢谢!
你是用什么发的?
可以把你发命令的时序贴上来看看吗?
我是用的STM32L152作为MCU, 采用PB6和PB7作为SCL和SDA,没有用硬件IIC,采用的是模拟I2C,这个模拟I2C读写程序,我已经在STM32F103ZET6上成功读写EEPROM (24L02),现在移植过来的,单步调试 每次等不到BQ76930的ACK而跳出
if(!iic_start())
{
return 0;
}
send_one_byte(I2C2_SLAVE_ADDRESS7); //I2C2_SLAVE_ADDRESS7 = 0x18
if(!wait_ack())
{
iic_stop();
return 0;
}
send_one_byte(writeaddr);
wait_ack();
while(writelen--)
{
send_one_byte(*data);
iic_delay(20);
wait_ack();
data++;
}
iic_stop();
iic_delay(DELAY_TIME);
return 1;
不好意思,我回帖回错了,我以为是我自己的帖子,我也在IIC通讯这卡住了,见谅哈!
发命令是调用的MCU的I2C 函数,验证过了是没问题的,可以访问其它的I2C 芯片。
手册上读Device Type的描述:
code:
1. I2C Write 0x00, 0x01 //control command
2. I2C Write 0x00, 0x01 // device type sub command
3. I2C read 2 byte. //read device type
请问一下以上时序对吗?谢谢!
参考bq27621-G1 Technical Reference (http://www.ti.com/lit/ug/sluuad4b/sluuad4b.pdf)第11页Application Examples,里面介绍命令怎么组合。
此外,I2C write address is 0xAA, read address is 0xAB.
TI提供了用MSP430 MCU I2C读写Gauge的示例代码,你参考下:http://www.ti.com.cn/analog/cn/docs/litabsmultiplefilelist.tsp?literatureNumber=slva413a&docCategoryId=1&familyId=412
Hi Mingwu,
之前的命令写错了,终于可以了!
谢谢!
朋友,你方便把你的发送格式发一遍吗?还有怎么配置的。。
我现在用BQ27621-G1EVM I2C操作,现在读取的寄存器值都是0xFF ,
例如:R 0x04 LSB MSB 读取寄存器0x04的返回值,都是0xFF
W 0x00 0x00,0x00 0x00 寄存器分配置使用的是默认值。望解答!3Q
读0x04寄存器是这样读的,怀疑是I2C driver的问题,
可以看下能不能访问其它I2C的器件。
我也在调这个电池管理芯片,发送地址能收到应答,但后面发送的都收不到应答。能分享一下发送的指令序列吗
老师你好,我读出来的也是FF,请问你解决这个问题了吗,如何办到的。谢谢
你读出来了吗?问题解决了吗?联系我 QQ1213168043