
STM32单片机睡眠模式(或者其他低功耗模式也行)的代码,由串口1中断唤醒,唤醒后程序继续执行。
展开全部
STM32教 程上有呀 ,如野火的教程,,配置好中断,只要一条语句即进入睡眠模式,然后由中断唤醒,执行指示灯闪烁程序:主程序如下:
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 != 0; nCount--);
}
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 != 0; nCount--);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-08-25 广告
根据公开信息,STM32F107的价格因型号、规格、封装和供应商等因素而异。在一些电子市场中,它的价格可能在**10.00-45.00元/PCS**之间。需要注意的是,这些价格可能不是最新的,因此请在购买前与供应商确认最新的价格和型号。
S...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询