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
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354094
  • RTC
    RTC
    +关注

    关注

    2

    文章

    520

    浏览量

    66194
  • NVIC
    +关注

    关注

    0

    文章

    35

    浏览量

    11667
收藏 人收藏

    评论

    相关推荐

    【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在
    的头像 发表于 08-23 09:18 330次阅读
    【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)<b class='flag-5'>RTC</b> 模块介绍

    什么是RTC模块?

    什么是“RTC”?“RTC”是实时时钟的缩写,它是一种测量时间的电子设备。什么是“RTC模块”?“RTC模块”是一个集成了RTCIC、振荡器电路和主时钟的单封装模块。无需自行设计振荡器
    的头像 发表于 07-24 14:14 318次阅读
    什么是<b class='flag-5'>RTC</b>模块?

    关于STM32的32.768K时钟晶振疑问求解

    的情况,鄙人一直都想使用STM32芯片做一个 闹钟,同时又担心晶振的问题,据说新出的STM32F4系列的RTC是硬件支持的,比原来的32位计数器好用多了,打算使用
    发表于 05-16 06:46

    STM32 RTC时间变0的原因是什么?

    最近公司产品遇到个问题,客户使用几个月后产品的RTC时间会变成初始化的时间2000年1月1日0分0秒。主芯片STM32F407VGT6,STM32F429IGT6,STM32F407Z
    发表于 04-30 07:51

    stm32l151c8t6 rtc闹钟中断进不了是怎么回事?

    不知道是不是配置不对 请大神帮忙看看用的是stm32l151c8t6就是进不去中断到了制定的闹钟时间 没有进中断 求帮忙瞄一瞄是什么地方没配置好 void RTC_conig(void
    发表于 04-29 08:05

    stm32f0待机模式用rtc闹钟唤醒,第二次唤醒没办法进入睡眠什么情况?

    stm32f0待机模式用rtc闹钟唤醒问题,第一次正常,可以进入睡眠,第二次唤醒重启后执行 PWR_EnterSTANDBYMode();就直接重启了,没办法进入睡眠什么情况?
    发表于 04-28 07:12

    STM8L RTC设置和读取时间不一样是什么原因导致的?

    我使用的是STM8L151,设置的RTC闹钟时间,和读出的时间不对。 读出来的时间,固定是 RTC_AlarmStr.RTC_AlarmTime.RTC_Hours= 01; RTC_Alar
    发表于 04-28 06:39

    STM32F103正点RTC RTC_Alarm_Set不能作用是为什么?

    STM32F103正点RTC RTC_Alarm_Set根本不能作用
    发表于 04-08 07:28

    如何改变stm32L0的RTC的wakeup time?

    stm32L0的RTC的wakeup time在RTC初始化为固定值,有时希望这个wakeup time可以改变,请教大家如何才能成功改变? 初始化代码如下,没有问题 static void
    发表于 04-07 06:12

    STM32L0系列没有VBAT,如果使用RTC,系统断电怎么保证RTC时钟继续运行?

    STM32L0系列,没有VBAT,如果使用RTC,系统断电怎么保证RTC时钟继续运行
    发表于 03-29 07:56

    stm32cubemx生成的RTC工程,MX_RTC_Init();函数手动是能RTC-CNF位进行设置吗?

    stm32cubemx生成的RTC工程,MX_RTC_Init();函数手动是能RTC-CNF位进行设置吗?如果用按键设置时间直接调用HAL_RTC
    发表于 03-28 07:26

    使用RTC ALARM A闹钟唤醒STM32F030c8t6和WAKEUP引脚外部唤醒 ,唤醒以后进行校准时间有偏差正常吗?

    使用了RTC ALARM A闹钟唤醒STM32F030c8t6和WAKEUP引脚外部唤醒 ,当外部唤醒以后进行校准时间,发现一小时能差8分钟。下面是我的RTC配置 和系统时间配置 oi
    发表于 03-27 07:33

    stm32f103c8t6闹钟中断无响是什么原因导致的?

    stm32f103c8t6闹钟中断无响应麻烦大佬帮忙看看
    发表于 03-26 07:29

    STM32L431 RTC时间混乱问题如何解决?

    我现在在用STM32L431做门锁,5号电池供电(有纽扣电池),五百台门锁生产时写入读出正常(2022年),从工厂运回公司,抽检发现某台门锁的RTC时间混乱了,变成了2073年,断电重启后还是
    发表于 03-22 07:41

    为什么无法让BLE和RTC AlarmA在STM32WB上协同工作?

    使用官方教程生成的BLE应用再添加RTC Alarm A 闹钟功能时钟变慢16倍, 查到把更改#define CFG_RTCCLK_DIVIDER_CONF 值为16后,看上去始终变慢问题恢复了,但
    发表于 03-14 07:13