芯片:STM32L071CB
开发环境:STM32CubeMX + keil5.33
使用实时时钟RTC的 WakeUpTimer定时器产生的中断将STM32从STOP低功耗模式下唤醒。
STOP模式: STM32低功耗运行模式之一,该模式下CPU会停止工作,但RAM中的数据仍然保留。待中断或事件触发后程序可以继续运行。
note:1、STOP模式退出后,系统时钟会自动配置为MSI或HSI,需要手动重新配置时钟,以及使用时钟的外设。
2、为了进一步降低STOP模式下的功耗,可以将GPIO设置为ANALOG输入模式,退出stop模式后重新配置GPIO
3、为了能够在STOP模式下进行调试,在main函数中添加 DBGMCU->CR |= DBGMCU_CR_DBG_STOP;
一、使用STM32CubeMX配置工程
1、配置STM32系统时钟,选择石英晶振,外部高速时钟HSE经锁相、倍频、分频后得到32M的系统时钟


2、配置一个用于控制LED灯的GPIO. 推挽输出模式,常拉低
本文介绍了如何使用STM32L071CB在STOP模式下利用RTC WakeUpTimer中断唤醒单片机。在STOP模式中,CPU停止工作,RAM数据保留。RTC配置使用内部晶振LSI,预分频系数为124和295,以实现1秒周期。LED灯控制作为应用示例,点亮3秒后进入STOP模式,RTC定时4秒唤醒。中断回调函数和清除PWR_FLAG_WU标志位是关键步骤。程序启动后需断电重启才能进入STOP模式,问题待解决。
最低0.47元/天 解锁文章
5486

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



