| 窗口看门狗配置: void wwdg_init()
 {
 NVIC_InitTypeDef NVIC_InitStructure;  //中断结构体定义
 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); // WWDG 时钟使能
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
 NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//看门狗的优先级要高于其他
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 NVIC_Init(&NVIC_InitStructure);
 WWDG_SetPrescaler(WWDG_Prescaler_8);//设置 WWDG 预分频数值
 WWDG_SetWindowValue(0x5F);//窗口上边界数值
 WWDG_Enable(0x7F);//使能窗口看门狗
 WWDG_ClearFlag(); //清除提前唤醒中断标志
 WWDG_EnableIT();//开启窗口看门狗中断
 }
 |