使用STD标准库配置,能够进入PVD掉电检测中断。但使用HAL库进行配置,则无法进入中断。配置例程来自官方HAL例程。如下 static void PVD_Config(void) { PWR_PVDTypeDef sConfigPVD; /*##-1- Enable Power Clock #################################################*/ __HAL_RCC_PWR_CLK_ENABLE(); /*##-2- Configure the NVIC for PVD #########################################*/ HAL_NVIC_SetPriority(PVD_IRQn, 0, 0); HAL_NVIC_EnableIRQ(PVD_IRQn); /* Configure the PVD Level to 3 and generate an interrupt on rising and falling edges(PVD detection level set to 2.5V, refer to the electrical characteristics of you device datasheet for more details) */ sConfigPVD.PVDLevel = PWR_PVDLEVEL_5; sConfigPVD.Mode = PWR_PVD_MODE_EVENT_RISING_FALLING; HAL_PWR_ConfigPVD(&sConfigPVD); /* Enable the PVD Output */ HAL_PWR_EnablePVD(); } void HAL_PWR_PVDCallback(void) { HAL_GPIO_WritePin(LED_Error_GPIO_Port,LED_Error_Pin,0); } 实在不知道什么地方出了问题 |
评分
查看全部评分