int main(void)
{
/* 配置 led */
LED_GPIO_Config()
/* 配置exti中断 */
EXTI_Key_Config()
/* 配置串口为中断模式 */
USART1_Config()
printf("\r\n 野火ISO-MINI开发板,睡眠实验 \r\n")
while(1)
{
/* wait interrupt */
LED1( ON ) // 亮
Delay(0xFFFFF)
LED1( OFF ) // 灭
LED2( ON ) // 亮
Delay(0xFFFFF)
LED2( OFF ) // 灭
LED3( ON ) // 亮
Delay(0xFFFFF)
LED3( OFF ) // 灭
__WFI() //进入睡眠模式,等待中断唤醒
}
}
static void Delay(__IO uint32_t nCount) //简单的延时函数
{
for(nCount != 0nCount--)
}
STM32 的低功耗模式有 3种: 1)睡眠模式(CM3内核停止,外设仍然运行) 2)停止模式(所有时钟都停止) 3)待机(standby)模式(1.8V内核电源关闭) 从待机模式唤醒后的代码执行等同于复位后的执行 进入Standby模式后,只能有Wake-up脚和RTC唤醒,特别是唤醒后,程序将从最开始运行,也就是相当于软件复位。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)