[STM32L1] 如何使用RTC获得12秒时间

[复制链接]
448|10
 楼主| 咚了个咚 发表于 2025-7-9 11:58 | 显示全部楼层 |阅读模式
用STM32L151RCT6 MCU在STM32Cube IDE中创建项目。
我需要怎样设置才能实现12秒的RTC定时?
我搜索了一些信息,了解到关于闹钟时间设置和闹钟中断的内容……
如何实现12秒的RTC定时?

公羊子丹 发表于 2025-7-28 07:18 | 显示全部楼层
RTC闹钟一般支持秒、分、时为单位,12秒可以设置闹钟秒数为12,然后使能中断。
周半梅 发表于 2025-7-28 07:19 | 显示全部楼层
你可以用RTC Alarm A,设置Alarm秒寄存器为12,注意闹钟时间是基于当前秒的。
帛灿灿 发表于 2025-7-28 07:19 | 显示全部楼层
另一种方法是用RTC的定时器(Wakeup Timer),它支持设置周期时间,但最小单位是秒。
童雨竹 发表于 2025-7-28 07:20 | 显示全部楼层
STM32L1的RTC Wakeup Timer支持1Hz计数,可以设置12秒后触发中断。
万图 发表于 2025-7-28 07:21 | 显示全部楼层
你需要先使能LSE或LSI作为RTC时钟源,确保RTC能正常计时。
Wordsworth 发表于 2025-7-28 07:22 | 显示全部楼层
CubeMX里RTC配置中,选择Alarm或Wakeup Timer,然后设置对应时间周期。
Bblythe 发表于 2025-7-28 07:23 | 显示全部楼层
RTC的Alarm计数是循环的,超过59秒会自动回到0,12秒设置只触发一次。
Pulitzer 发表于 2025-7-28 07:23 | 显示全部楼层
你可以在闹钟中断回调里重新设置闹钟,实现周期12秒的定时功能。
Uriah 发表于 2025-7-28 07:24 | 显示全部楼层
Wakeup Timer中断相对灵活,可以直接设置12秒周期触发更方便。
Clyde011 发表于 2025-7-28 07:25 | 显示全部楼层
用HAL库时,调用 HAL_RTC_SetAlarm_IT() 或 HAL_RTCEx_SetWakeUpTimer_IT() 来启动12秒中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

66

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部