有个问题想请教
以下是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);