完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
找到附上我的 STM32L010x 代码。
它利用 RTC 唤醒定时器每 10 秒将 CPU 从睡眠模式唤醒。 RTC 由 LSE(精确的外部低速振荡器)计时。 我将异步 RTC 分频器设置为 127,将同步 RTC 分频器设置为 255 以获得 1 Hz(查看参考手册 RM0451,同步预分频器输出上的这个时钟标记为 ck_spre) 然后使用 ck_spre 时钟为 RTC 唤醒定时器供电(因此 1 个时钟周期需要 1 秒)。 RTC 唤醒定时器设置为 0x0009,每 10 秒触发一次中断。 如果您的电路板上没有适用于 LSE 的 32.768k 石英,您可能希望将 RTC 时钟源从 LSE 更改为 LSI。 那么唤醒周期将远不准确。 在进入睡眠模式之前,您需要禁用 SysTick 定时器,否则它的中断将在 1 ms 内唤醒 CPU(SysTick 通常设置为每 1 ms 引发一次中断)。 STM32CubeMX 生成的 HAL 代码在 main 函数的开头配置 SysTick。 要禁用 SysTick,您可以调用: HAL_SuspendTick(); 唤醒后,我在再次进入睡眠模式之前切换 PA5,以使用我的 Saleae 数字分析仪验证正确的唤醒周期(见下图)。 通过移除关联的 GPIO 代码,可以轻松移除此部分。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2608 浏览 1 评论
3201 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1775 浏览 1 评论
3600 浏览 6 评论
5979 浏览 21 评论
930浏览 4评论
1306浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
574浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1293浏览 3评论
1349浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 04:12 , Processed in 1.020624 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号