STMCU小助手
发布时间:2022-12-4 18:00
|
前言 实时时钟 (RTC) 是记录当前时间的计算机时钟。 RTC 不仅应用于个人计算机、服务器和嵌入式系统,几乎所有需要准确计时的电子设备也都会使用。支持 RTC 的微控制器可用于精密计时器、闹钟、手表、小型电子记事薄以及其它多种设备。/ D) w: Y! e3 `6 o 本应用笔记介绍超低功耗中等容量、超低功耗大容量、 F0、 F2 和 F4 系列器件微控制器中嵌入式实时时钟 (RTC) 控制器的特性,以及将 RTC 用于日历、闹钟、定时唤醒单元、入侵检测、时间戳和校准应用时所需的配置步骤。 本应用笔记提供了含有配置信息的示例,有助于您快速准确地针对日历、闹钟、定时唤醒单元、入侵检测、时间戳和校准应用配置 RTC。( [" s: W- U' V, h% P2 W 注: 所有示例和说明均基于 STM32L1xx、 STM32F0xx、 STM32F2xx、 STM32F4xx 和STM32F3xx 固件库,以及 STM32L1xx (RM0038)、 STM32F0xx (RM0091)、 STM32F2xx(RM0033)、STM32F4xx (RM0090)、STM32F37x (RM0313) 和 STM32F30x(RM0316) 的参考手册。 本文提到的 STM32 指超低功耗中等容量、超低功耗大容量、 F0、 F2 和 F4 系列器件。 超低功耗中等 (ULPM) 容量器件包括 STM32L151xx 和 STM32L152xx 微控制器, Flash 容量在 64 KB 到 128 KB 之间。1 c" ]2 K8 P0 a4 c- L" w. k7 S 超低功耗大 (ULPH) 容量器件包括 STM32L151xx、STM32L152xx 和 STM32L162xx 微控制器, Flash 容量为 384 KB。 F2 系列器件包括 STM32F205xx、 STM32F207xx、 STM32F215xx 和 STM32F217xx 微控制器。 STM32F3xx 包括 STM32F30x、 STM32F31x、 STM32F37x 和 STM32F38x 器件。# z4 c& I" ^. R0 [ F4 系列器件包括 STM32F405xx、 STM32F407xx、 STM32F415xx 和 STM32F417xx 微控制器。 F0 系列器件为入门级微控制器。) m; P8 N5 L0 a3 J 表 1 列出了本应用笔记涉及的微控制器。 5 f$ U% R# @6 E+ q8 q/ J
) D4 ]- j+ C" K4 P0 e 1 STM32 高级 RTC 概述 STM32 微控制器中的嵌入式实时时钟 (RTC)是一个独立的 BCD 定时器 / 计数器。 RTC可用来实现全功能日历、闹钟、定时唤醒单元、数字校准、同步、时间戳和高级入侵检测。有关各器件可用功能的完整列表,请参见表 15:RTC 高级功能 。' u1 n1 J. Y& D( @. d7 g7 B$ L - S5 X) \: \$ l# q) k+ ] 1.1 RTC 日历 日历用于记录时间 (时、分和秒)和日期 (日、周、月和年)。 STM32 RTC 日历具有多项功能,可轻松配置和显示下列日历数据字段: 含有下列字段的日历:; L& _9 O9 Z3 m- |* ^1 g – 亚秒 (不可编程)! a$ r2 w( V, f – 秒9 O+ X. ]# l4 E3 c. D, E5 F! [ – 分 – 时 (12 小时或 24 小时格式)! P1 t9 p& T6 R0 n' @ – 星期) a7 ^7 C" W9 i! r3 M – 日/ u0 F9 A: L( l2 K: i) M – 月 – 年 二进码十进数 (BCD)格式的日历0 T! I {8 V& Q/ w: S 自动管理天数为 28、 29 (闰年)、 30 和 31 的月份; I2 w! N9 r8 p" W, V 夏令时调整可用软件编程
软件日历可以是表示秒数的软件计数器 (通常为 32 位长)。软件程序将计数器值转换为小时、分钟、日期、星期、月份和年份。这些数据可以转换成 BCD 格式在标准 LCD 上显示,很适合采用 12 小时格式与 AM/PM 指示符(见图 2)的国家 / 地区。转换程序会占用大量程序存储器空间和 CPU 运行时间,这可能对某些实时应用很不利。 使用 STM32 RTC 日历时,该功能通过硬件实现,因此不再需要软件转换程序。0 ^# d: U, z; ^# B STM32 RTC 日历以 BCD 格式提供。这可以避免二进制转 BCD 的软件转换程序占用大量程序存储器空间和加重 CPU 负载而对某些实时应用产生不利影响。
" \: }5 A0 V* H4 }# T" B 1.1.1 初始化日历/ M0 E: g* x1 S 表 2 列出了正确配置日历的时间和日期所需的步骤。5 x w( `% ~. f7 C/ X" Y4 H) |7 @ 1 i0 J% I3 S* s& Y; I
9 i; _* Z5 ^1 t4 u 1.1.2 RTC 时钟配置5 u2 ?5 d l" E9 b7 s& u RTC 时钟源+ a! ^- I# v$ _2 w- `$ P0 J0 o. l8 ] RTC 日历可通过三个时钟源 LSE、 LSI 或 HSE 驱动 (见 图 3 和 图 4)。5 h6 r4 w; {/ P! J8 M+ a- e 3 k2 l+ J; w& V( V 4 ^6 ~# N2 T* y; C. d, m% o
0 l2 h; S4 R `* q/ j9 v% v 完整版请查看:附件, U: @6 [1 m$ A 3 m0 M: E: g7 q0 u2 w |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
微信公众号
手机版