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

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

3天内不再提示

不建议使用STM32F1的RTC实现日历功能

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-28 17:20 次阅读

有读者问:如何在STM32F1上实现日历功能?

一、关于RTC

RTC:Real TimeClock,实时时钟,记录当前时间的计算机时钟

RTC 不仅应用于个人计算机、服务器和嵌入式系统,几乎所有需要准确计时的电子设备也都会使用。

支持 RTC 的微控制器可用于精密计时器、闹钟、手表、小型电子记事薄以及其它多种设备。

在实际项目中,运用时间戳的地方很多,比如:存储数据、日志消息、系统故障等。

二、STM32的RTC

在所有STM32处理器中,都集成了一个RTC模块,是一个独立的 BCD 定时器 / 计数器。

但是,在STM32F1系列中,RTC模块的功能相对比较简单(也许是最前推出的原因)。其中,一个重要的功能,日历功能在F1系列中是不具备的。

F1的RTC可以实现1秒累计计数,很早之前,我自己通过软件实现日历功能,其中包含闰年、月份28、29天的处理。我之前进行过多次验证,但也不敢保证完全没问题。

RTC功能概述:

处理STM32F1,其它系列的RTC基本具有很多高级功能,比如:日历、闹钟、定时唤醒单元、数字校准、同步、时间戳和高级入侵检测等。

三、日历功能

RTC最重要,最常用的功能就是日历功能,但F1系列中的RTC模块不具备。

打开F1手册,你在RTC框图,你会发现没有日历(Calendar)相关的寄存器。而且其他系列就有:

除F1系列,可轻松配置和显示下列日历数据字段:

·含有下列字段的日历:

– 亚秒 (不可编程

– 秒

– 分

– 时 ( 12 小时或 24 小时格式)

– 星期

– 日

– 月

– 年

·二进码十进数 ( BCD)格式的日历

·自动管理天数为 28、 29 (闰年)、 30 和 31 的月份

·夏令时调整可用软件编程

四、闹钟功能

相对F1系列,其他系列的闹钟功能自然也更高级了。STM32闹钟基于日历基础之上,只需简单简单编程即可实现闹钟功能。

闹钟单元均具有以下功能:

·支持对闹钟自由编程:亚秒 (稍后讨论)、秒、分钟、小时和日期字段可以单独选择或屏蔽,以实现多种闹钟组合。

·能够在发生闹钟事件时使器件退出低功耗模式。

·可将闹钟事件发送到极性可配置的特定输出引脚。

·具有专用的闹钟标志和中断。

五、其他

RTC功能还有很多重要功能,这里只简单说了常用、重要的日历和闹钟。更多RTC知识可参看MCU对应的参考手册。

最后,标题中“不建议用STM32F1的RTC实现日历功能”,就是因为F1不具备RTC功能,软件实现复杂,同时也不具备一些高级功能。

额外:RTC属于一个计时器,也可实现定时器的一些基本功能。

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

    关注

    31

    文章

    5304

    浏览量

    119883
  • STM32
    +关注

    关注

    2265

    文章

    10858

    浏览量

    354439
  • RTC
    RTC
    +关注

    关注

    2

    文章

    524

    浏览量

    66249
收藏 人收藏

    评论

    相关推荐

    使用STM32F1输入捕获功能时,TIM6和TIM7无法实现输入捕获是哪里的问题?

    使用STM32F1输入捕获功能时,TIM6和TIM7无法实现输入捕获,是芯片问题吗?在配置STM32F1的TIM6和TIM7定时器时,发现无法进行输入捕获,是否因为芯片
    发表于 09-27 09:11

    如何使用STM32F1控制ESP8266?

    如何使用STM32F1控制ESP8266?
    发表于 07-09 06:21

    自制一款兼容STM32F1/F4芯片的飞控板

    自己制作的一款兼容STM32F1/F4芯片的飞控板。
    发表于 07-04 14:07 0次下载

    STM32F1内部ADC的DUAL MODE的使用问题求解

    我想利用STM32F1内部的ADC采集四路电压值,因为要求同时采集,所以我使用了ADC的DUAL MODE,可是由于始终未能读明白芯片手册!ADC的设置与DMA的设置基本上参考STM32F1提供
    发表于 05-09 06:51

    stm32f051r8中RTC日历时钟如何将年月日时分秒转换成秒计数?

    各位大侠,请问一下stm32f051r8 中RTC日历时钟如何将年月日时分秒转换成秒计数,资料里说的有点没弄明白,不能使用中断,因为产品断电时由纽扣电池供电。
    发表于 05-08 08:21

    STM32F1RTC上电起振的原因?怎么解决?

    ;CRLRTC_FLAG_RSF) == (uint16_t)RESET) 我用示波器测,亮的屏幕,确实有些是外部32768没波形。但有些也有,屏幕也亮。 网上查,说是F1RTC
    发表于 04-28 07:49

    请问使用STM32F1实现USB和fatfs同时访问SD卡吗?

    使用STM32F1实现USB和fatfs同时访问SD卡吗,想实现1S写一次数据到SD卡,同时实现随时插USB线连接电脑查看数据,分开都已
    发表于 04-23 07:48

    stm32f1做的usb键盘,连电脑无法识别怎么解决?

    stm32f1做的usb键盘,连电脑无法识别
    发表于 04-11 08:19

    STM32f1怎么判断引起CAN发送中断的ID是哪个?

    STM32f1怎么判断引起CAN发送中断的ID是哪个
    发表于 04-03 07:46

    想用STM32F1单片的一个I/O口外接一个红外传感器,距离3米可以实现吗?

    想用STM32F1单片的一个IO口外接一个红外传感器,距离3米,担心传输距离太长,请教各位,怎么样可以实现这个功能
    发表于 04-01 07:37

    STM32F1的LL库,RTC怎么不能设置日期?

    STM32F1的LL库,RTC 怎么不能设置日期,只能设置时间。
    发表于 03-29 07:02

    能用stm32h7为主做绝大部分的功能实现,用stm32f1为辅实现一个小功能吗?

    请问能用stm32h7为主做绝大部分的功能实现,用stm32f1为辅实现一个小功能吗?
    发表于 03-20 07:09

    请问如何快速移植stm32f1的程序到STM32C0中?

    如何快速移植stm32f1的程序到STM32C0中?
    发表于 03-08 06:54

    stm32f1如何将外部中断关掉hal库

    Layer)来简化芯片和外设的驱动开发。在STM32F1中,外部中断的关闭是通过HAL库中的相应函数来实现的。下面我将详细介绍如何使用HAL库关闭外部中断。 引入必要的头文件 要使用外部中断功能,首先需要
    的头像 发表于 12-22 13:52 3127次阅读

    STM32F1系列单脉冲模式下最小脉宽为多少?

    在微控制器领域,STM32F1系列是一款非常流行的产品,广泛应用于各种嵌入式系统设计。
    的头像 发表于 12-13 09:58 859次阅读