//检测电池电压 void BatteryCheck(void) { Battery.BatteryAD = GetBatteryAD(); //电池电压检测 Battery.BatteryVal = Battery.Bat_K * (Battery.BatteryAD/4096.0) * Battery.ADRef;//实际电压 值计算 if(FLY_ENABLE) { if(Battery.BatteryAD <= Battery.BatteryADmin) { Battery.alarm=1; } else Battery.alarm=0; } else { if((Battery.BatteryVal < BAT_ALARM_VAL)&&(Battery.BatteryVal > BAT_CHG_VAL)) //低于3.7v 且大于充电检测电压 BAT_CHG_VAL Battery.alarm=1; else Battery.alarm=0; } if(Battery.BatteryVal < BAT_CHG_VAL) //on charge { Battery.chargeSta = 1; BT_off(); } else Battery.chargeSta = 0; }
/******************************************** Led初始化函数 功能: 1.配置Led接口IO输出方向 2.关闭所有Led(开机默认方式) 描述: Led接口: BT_EN-->PB2 对应IO=1,灯亮 ********************************************/ void BT_PowerInit(void) { RCC->APB2ENR|=1<<3; //使能PORTB时钟 GPIOB->CRL&=0XFFFFF0FF; //PB2推挽输出 GPIOB->CRL|=0X00000300; GPIOB->ODR|=1<<2; //PB2上拉 BT_off(); //默认关闭 }