0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈STM32_RTC闹钟

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-08 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天讲解“STM32F103RTC闹钟”,说起“闹钟”大家肯定不会陌生,基本上我们每天都在接触。今天说的“RTC闹钟”就是我们现实生活中的闹钟,只是今天站在技术知识的角度来看待“闹钟”。由于这一阶段定位的是基础的知识,所以今天提供的软件例程也是相对简单一点的,但明白今天的知识,相信自己都会写闹钟程序了,后期我会更新日历及闹钟的综合知识。

每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cSsN8ExwLMBbj访问密码 529c

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2访问密码 ca90

工程概要说明:今天的软件上电将时钟设置为0秒,闹钟设置为10秒,也就是说上电之后的第10秒会相应“闹钟中断”。测试的现象就是:平时间隔500ms串口打印数据“RTC Test..”伴随LED变化一次,但第10秒相应闹钟中断后,就有新的想象(串口打印“Alarm arrival.”伴随LED快速变化3次)。

关于“STM32F103RTC闹钟”我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

一、RCC时钟配置

该函数位于bsp.c文件下面;

使能RCC时钟:RCC_APB1Periph_PWR 和RCC_APB1Periph_BKP,这里的RCC和昨天的一样,同时还配置“RCC_RTCCLKSource_LSE”(在RTC_Configuration)。

二、RTC配置

该函数位于rtc.c文件下面;

分频值为32767,也就是1秒计数一次。使能RTC_IT_ALR闹钟中断,在设置的闹钟时间到来就会执行闹钟中断。

三、RTC初始化

该函数位于rtc.c文件下面;

这里主要讲解时间和闹钟初始化的值,都应该明白这个吧。

四、NVIC配置

该函数位于bsp.c文件下面;

必须配置NVIC,否则中断不会响应。

五、主函数

该函数位于main.c文件下面;

主要就是实现的现象。

六、今天的重点提示

重点主要在第二点“RTC配置”,需要细心阅读手册,结合代码,相信都能理解。

下载方式:长按网站 ->选择复制 ->打开

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2305

    文章

    11122

    浏览量

    371193
  • RTC
    RTC
    +关注

    关注

    2

    文章

    639

    浏览量

    71024
  • NVIC
    +关注

    关注

    0

    文章

    37

    浏览量

    12342
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RTC工作原理

    到这些影子寄存器中‌ ‌4、周期性自动唤醒‌:RTC有一个16位的自动重载递减计数器,可以产生周期性的唤醒中断,通常定时一秒‌ ‌5、可编程闹钟‌:RTC有两个可编程闹钟,当
    发表于 11-28 07:14

    在CW32F030 MCU上设置外部中断和RTC唤醒条件的示例

    ;// 假设这是RTC相关的头文件,你需要自己实现或找到适合的库 // RTC闹钟中断处理函数 void RTC_Alarm_IRQHandler(void
    发表于 11-25 08:00

    【RA-Eco-RA6M4开发板评测】RTC实践

    获取设备句柄 set_date() 设置日期,年、月、日(当地时区) set_time() 设置时间,时、分、秒(当地时区) 另外,alarm 闹钟功能是基于 RTC 设备实现的,根据用户设定的闹钟
    发表于 11-09 21:53

    RVMCU课堂「20」: 手把手教你玩转RVSTAR—实时时钟RTC

    RTC会产生一个秒中断。另外一个模块是一个32位可编程计数器,其数值可以被初始化为当前系统时间。如果RTC_INTEN的闹钟中断标志位被使能,RTC会在系统时间等于
    发表于 10-29 08:10

    RTC出现3处警告rt_rtc_ops stm32_rtc_ops怎么解决?

    1.新版drv_rtc框架,有3处警告; stm32_rtc_get_secs,stm32_rtc_set_secs, stm32_rtc_get_timeval 警告如下
    发表于 09-22 06:57

    YXC扬兴科技:RTC家族实力登场,开启精准时序新篇章

    RTC的核心功能包括:精确计时与日历管理、断电后时间保持、时间戳,以及闹钟/定时器功能等。这些特性使其广泛应用于智能水电表、电脑、智能家居、工业控制等各类需精确时间记录和同步的电子设备中。
    的头像 发表于 08-21 18:03 1514次阅读
    YXC扬兴科技:<b class='flag-5'>RTC</b>家族实力登场,开启精准时序新篇章

    AT32的ERTC与RTC的区别

    和每个月的天数。ERTC还支持闹钟、周期性唤醒、时间戳、参考时钟检测以及精密校准等功能 。 易用性 RTC :需要用户自己写程序进行时间单位的转换,增加了开发的复杂度 。 ERTC :由于内置了完整
    发表于 07-11 10:48

    时区陷阱!RT-Thread闹钟失效不响应?

    的解决方案。二、问题点在使用先楫平台的drv_rtc驱动时,发现两个典型问题:使用local_time_r设置闹钟时间时无法触发回调函数使用gmtime_r设置后虽
    的头像 发表于 06-18 12:02 867次阅读
    时区陷阱!RT-Thread<b class='flag-5'>闹钟</b>失效不响应?

    WLE5CBU6在STOP2模式下,概率性不能通过RTC闹钟中断唤醒,为什么?

    已知闹钟中断优先级最高,跑RTC测试时,挂测会出现概率性的无法唤醒MCU
    发表于 06-16 06:34

    【道生物联TKB-620开发板试用】定期休眠并发布数据

    , FSM_ENTER_SLEEP_ACK, FSM_MAX, } FSM_States_e; 只有当状态为FSM_RCVDATA时就可以实现正常的收发了。 2、stm32F103可以由RTC的周期
    发表于 04-29 07:29

    小安派BW21-CBV-Kit教程——基础RTC例程与简易RTC闹钟

    本例演示如何使用 RTC 库方法。本函数介绍如何使用 RTC API。RTC 功能由一个独立的 BCD 定时器/计数器实现。
    发表于 04-13 17:46 599次阅读
    小安派BW21-CBV-Kit教程——基础<b class='flag-5'>RTC</b>例程与简易<b class='flag-5'>RTC</b><b class='flag-5'>闹钟</b>

    使用Keil开发环境和STM32F103RCT6实现RTC功能时,总提示\"RTC_InitTypeDef\" is undefined,为什么?

    使用Keil开发环境和STM32F103RCT6,实现RTC功能时,总提示"RTC_InitTypeDef" is undefined? 头文件已包含,库文件也已包含,不知是何原因?
    发表于 03-12 07:38

    【瑞萨RA2L1入门学习】03. RTC 时钟日历&amp;闹钟&amp;周期性中断

    设置RTC的当前时间,包括年、月、日、时、分、秒等。 设定闹钟RTC支持闹钟功能,可以在特定时间设置闹钟,当时间到达时,
    发表于 03-07 16:45

    利用CKS32F107xx系列RTC闹钟实验

    本小节讲解的是如何在万年历实验的基础上,利用RTC闹钟功能实现一个闹钟,在每天的[XX小时-XX分钟-XX秒]产生闹钟,然后通过闪烁LED模拟闹钟
    的头像 发表于 02-18 17:21 1136次阅读

    解析爱普生RTC芯片选型的五大关键

    当你的电子设备突然断电重新开机后,时间又变回了初始值;闹钟没响重要事件记录不见了,甚至还得重新设置备忘提醒。那么,怎么解决这个问题呢?让你不再为时间的飞逝而困扰!EPSON将向你介绍RTC芯片选型
    的头像 发表于 01-06 15:42 672次阅读
    解析爱普生<b class='flag-5'>RTC</b>芯片选型的五大关键