|
用了N年的掉電數(shù)據(jù)源保存!
void PVD_NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure; //中斷優(yōu)先級(jí)配置
EXTI_InitTypeDef EXTI_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
EXTI_StructInit(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line = EXTI_Line16; //PVD連接到中斷線16上
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //使用中斷模式
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //電壓低于閥值時(shí)產(chǎn)生中斷
EXTI_InitStructure.EXTI_LineCmd = ENABLE; //使能中斷線
EXTI_Init(&EXTI_InitStructure); //初始
PWR_PVDLevelConfig(PWR_PVDLevel_2V8);//設(shè)定監(jiān)控閥值
PWR_PVDCmd(ENABLE);//使能PVD
}
/*-------------------------------------------------------------------------------
PVD中斷
---------------------------------------------------------------------------------*/
void PVD_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line16) != RESET)
{
這里些:代碼,需要保持的數(shù)據(jù)。。。
EXTI_ClearITPendingBit(EXTI_Line16);//清中斷
}
} |
|