TI中文支持网
TI专业的中文技术问题搜集分享网站

BQ76940 CC读取问题

有个问题想请教

以下是oneshot模式读取CC转换数值的程序,但是置位one shot好像没有被执行。

之前在执行 “Registers.SysCtrl2.SysCtrl2Bit.CC_ONESHOT=1;  //置位one shot”操作后,又读取过SYS_CTRL2,发现值是0x01

也就是说没有设置上CC_ONESHOT位

什么情况下能出现这种情况?

拜托帮我稍稍分析一下。

————————————————————————————————————————

I2C_Write(SYS_STAT,0x80);                                         //清除CC_READY位

Registers.SysCtrl2.SysCtrl2Bit.CC_ONESHOT=1;  //置位one shot

I2C_Write(SYS_CTRL2,Registers.SysCtrl2.SysCtrl2Byte);  //ONESHOT模式设置

while ((I2C_Read(SYS_STAT)&0X80)==0X00)  //等待CC_READY位置位

{ all_led_on();}

 i=(I2C_Read(CC_HI_ADDRESS)<<8)+I2C_Read(CC_LO_ADDRESS); 

Vincent Li00:

你好
当你从SYS_CTRL2读取数据时,你会看到0x1,即0000 0001,那里应该有其他的东西,因为CC_EN应该被设置为0,但是你的DSG和CHG应该是1,除非你得到了fault。
确保每次都清除CC_READY位,并且CC_ONESHOT也会在每次读取后清除(return to 0),因为这是手动读取。
希望可以帮到你。

赞(0)
未经允许不得转载:TI中文支持网 » BQ76940 CC读取问题
分享到: 更多 (0)