一、设计效果
- 配置RTC时钟,初始化为2000年1月1日00:00:00;
- 通过RTC时钟秒中断串口每秒打印一次当前时刻,并切换一次流水灯状态;
- 配置闹铃为10:00:05,在闹铃中断中每秒切换一次蜂鸣器状态闹铃,直到按KEY1关闭闹钟;
- 配置开发板上四个按键中断,按下实现:
-
- KEY0 —— 将时间设置为 2022年11月06日 10:00:00
- KEY1 —— 将关闭闹钟
- KEY2 —— 打开蜂鸣器
- KEYUP —— 关闭蜂鸣器
- 每次操作时,使用串口打印提示信息
二、硬件工作原理和原理图
RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。一般配备有电池。
三、实验记录
1.完成CubeMx初始化配置
1.1 利用CubeMX完成HAL库工程模板和初始化:
通过选择芯片型号创建CubeMX工程
在弹出的对话框中输入开发板上的芯片型号,STM32F103RB
在右侧筛选栏中选择Tx型,即开发板上芯片所用的LQFP64型封装,双击建立工程
1.2 RCC模块引脚的配置
在弹出的工程配置对话框中的第一个引脚配置选项卡下,先完成RCC时钟模块引脚配置:
选择启用外部的高速和低速时钟源,HSE和LSE,配置为晶振连接;
配置完成后,对应时钟引脚变绿,同时旁边出现其将要配置模式的文字说明;
1.3 配置时钟
我们前面启用了RCC时钟模块的外部时钟引脚,这里我们需要将外部时钟源配置为实际使用的频率;
1.4 RTC配置
1.在侧边栏的计时器中选择RTC
2.勾选Activate Clock Source 激活时钟源
Activate calendar 激活日历
3.配置时间日期
1.5 串口配置
- 在侧边栏的通信外设中选择USART1
- 在串口下拉框出选择异步(Asynchronous),成功后可以看到对应的串口引脚RX(接收引脚),TX(发送引脚