1. 等待事件模式,cpu停止工作,外设和中断控制器继续工作。
2. 等待的事件到达后,led灯反转。
CLK_Config();//切换LSI为主时钟
//不使用的IO全部设置为输出低电平
GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Slow);//GPIO初始化
GPIO_Init(KEY_GPIO_PORT, KEY_GPIO_PINS, GPIO_Mode_In_PU_IT);//初始化按键,GPB6上拉输入
WFE_DeInit ();
WFE_WakeUpSourceEventCmd (WFE_Source_EXTI_EV6,ENABLE);//指定外部中断6为等待的事件
while(1)
{
EXTI_ClearITPendingBit (EXTI_IT_Pin6);//清中断标志
GPIO_ToggleBits(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);//翻转LED端口电平
Delay(0x00FF);
wfe();
}
本文介绍了一个STM32微控制器使用等待事件模式的示例程序。该程序通过配置LSI为主时钟,并设置GPIO口及外部中断,实现了在特定事件触发时LED状态反转的功能。
1122

被折叠的 条评论
为什么被折叠?



