PVD config: PWR_PVDLevelConfig(PWR_PVDLevel_2V9); // 2.9V PWR_PVDCmd(ENABLE);
NVIC: // Enable the PVD Interrupt NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQChannel; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);
PVD IRQHandler: void PVD_IRQHandler(void) { if (PWR_GetFlagStatus(PWR_FLAG_PVDO) == SET) { GPIO_SetBits(BAT_CTRL); // 电源低于2.9V接通外部电池 } }
以上程序经过测试好象不起作用,不知是什么问题,还是PVD根本就不能用来从电源切换到电池供电,请高人们指点
|