使用STC8F单片机做了一个充电控制电路,有一段程序是检测到电量低于一定程度就亮红灯,电量检测芯片使用的美信的一个芯片,地址0x04是读取电量百分比,最开始程序是检测到百分比低于一定程度就亮灯,但是发现这个百分比是不准的,就想修改程序读取电池电压,通过0x02寄存器去读,但是这里程序出现了问题,if判断的结果是反过来的,代码如下:
I2c_MAX_r(0x02);
UartSend(MAX_Read1);
if (0xa0 > MAX_Read1){
led_r = 0;
delay1ms(300);
led_r = 1;
delay1ms(300);
}
MAX_Read1实际读到的值为0xb4,但是进入了亮灯分支,很费解,而且寄存读0x04整个程序就是正常的,有哪位知道是怎么回事吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>