RTC时钟

  • RTC
    • 什么是RTC?
    • RTC结构框图
    • CubeMX配置
    • RTC代码配置
  • 实战——简易时钟
    • 任务要求
    • 代码实现
    • 实验结果
  • 补充
    • 唤醒功能配置
    • 代码如下:

RTC

什么是RTC?

RTC(Real Time Clock):实时时钟

RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期。

简单来说,RTC是一个特殊的定时器,通常作为闹钟、日历、以及定时自动唤醒功能。这一期我们来讲以下RTC的闹钟功能

RTC结构框图


以上是RTC使用时钟功能的部分结构框图,具体流程如下:

  1. 选择时钟源,我们通常使用LSE(32.768KHz)
  2. 对时钟源进行分频得到1Hz的频率,通常设置异步分频器为128分频,同步分频器为256分频。
  3. 每来一个时钟信号,时间加增加,当时间寄存器的值与闹钟寄存器的值相同时,产生中断。

注意:这里我们不需要对时间的进位进行计算,只需要控制计数器的时钟信号为1Hz即可保证RTC准确走时。

关于RTC的基本知识,我们这里不做介绍,大家可以自行学习
下面我们来讲讲CubeMX的配置

CubeMX配置

  1. 首先我们要在RCC选项开启LSE(外部低速晶振)

  2. 开启RTC

  3. 配置 RTC

  4. 时钟配置

以上就是RTC的配置过程,接下来是代码的配置过程:

RTC代码配置

  1. RTC基本驱动步骤
  2. RTC闹钟配置

实战——简易时钟

任务要求

  • 通过实现NANO板上的RTC功能,设计一个简易时钟,
  • 闹钟要求具有闹钟功能,当到达闹钟设置时间是,执行相应动作
  • 通过串口打印相印信息,1s打印一次

代码实现

1. main函数

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_RTC_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){HAL_RTC_GetDate(&hrtc,&GET_Date,RTC_FORMAT_BIN);      //获取日期printf("%02d/%02d/%02d\r\n",2000 + GET_Date.Year,GET_Date.Month,GET_Date.Date);   //打印日期HAL_RTC_GetTime(&hrtc,&GET_Time,RTC_FORMAT_BIN);     //获取时间printf("%02d:%02d:%02d\r\n",GET_Time.Hours,GET_Time.Minutes,GET_Time.Seconds);    //打印时间printf("\r\n");       //换行HAL_Delay(1000);          //1s执行一次以上内容/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

2 . 闹钟事件中断服务函数

void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{if(hrtc->Instance == RTC){printf("CLOCK_EVENT");}
}

实验结果

以上就是RTC闹钟的全部内容…………

补充

唤醒功能配置


这里是设置每10s触发一次唤醒中断。


代码如下:

编写如下中断服务函数,即可在唤醒中断执行相应动作。

void   HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{printf("WKUP_EVENT");
}

夜深人静学32系列16——RTC实时时钟相关推荐

  1. 25 linux ndk 头文件_正点原子Linux第二十五章RTC实时时钟实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第二十五章RTC实时时钟实验 实时时钟是很常用的一个外设 ...

  2. RTC实时时钟(学习笔记)

    RTC实时时钟特征与原理 RTC(Real Time Clock):实时时钟. RTC是个独立的定时器.RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能.修改计数器的值可 ...

  3. 十九、RTC实时时钟

    一..RTC实时时钟工作框图 RTC 由两个主要部分组成,第一部分(APB1 接口)用来和 APB1 总线相连.此单元还包含一组 16 位寄存器,可通过 APB1 总线对其进行读写操作.APB1 接口 ...

  4. stm32f4 RTC实时时钟解析

    RTC是什么–简介 RTC,英文全称:Real-time clock,中文名称:实时时钟,是指可以像时钟一様输出实际时间的电子设备,一般会是集成电路,因此也称为时钟芯片.实时时钟芯片是日常生活中应用最 ...

  5. STM32——RTC实时时钟原理+BKP寄存器原理

    一.RTC实时时钟特征与原理 1.RTC(Real Time Clock):实时时钟 2.RTC是个独立的BCD定时器/计数器.RTC提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性 ...

  6. STM32之RTC实时时钟

    RTC实时时钟简介: STM32的RTC外设,实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断).但是从掉电还能继续运 ...

  7. 【STM32】RTC实时时钟概述、寄存器、库函数(RTC一般步骤)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第16章  实时时钟(RTC) RTC实时时钟 RTC实时时钟简介 实时时钟是一个独立的定时器.RTC模块拥有一组连续计数的 ...

  8. 【正点原子FPGA连载】第三十一章RTC实时时钟数码管显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  9. 【正点原子STM32连载】 第二十七章 RTC实时时钟实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

最新文章

  1. P1803 凌乱的yyy / 线段覆盖(选择不相交区间,贪心)
  2. wince中对ini文件的操作
  3. Hystrix概述(二)
  4. 鸿蒙开发者目前人数,苹果时隔两年公布大中华区开发者数据:440万,增长76%
  5. P7115-[NOIP2020]移球游戏【构造】
  6. Java学习日报—Java并发—2021/11/22
  7. 【SpringBoot】解决拦截器注入 Service 为空问题
  8. 操作系统定义、功能、特征、分类介绍
  9. 用VS.NET 2005制作安装程序
  10. Oracle数据库中查看所有表和字段以及表注释.字段注释
  11. AdxMenu真的不错!我写了个中文的使用说明如下,希望大家用得着
  12. 懒虫读诗 (树形dp+分组背包)
  13. mc服务器常用指令_MC玩家必看常用指令大全
  14. office(Excel)里面如何提取身份证中的出生日期
  15. 如果有人能力不如你工资比你高怎么看?
  16. 【转】STM32 定时器 输出比较模式和PWM输出模式的区别
  17. Ramnit感染型蠕虫病毒专杀工具
  18. Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条。可直接替换 RatingBar。
  19. 猜灯谜c语言程序,猜谜游戏-C语言
  20. sqoop 工具的使用

热门文章

  1. VC(VS)常见编译错误
  2. 评估一个外链价值的18个因素
  3. machine learning 概率统计实例分析与理论
  4. 选择排序 冒泡 java_排序扯淡:冒泡、选择、插入(Java)
  5. python中英文混合字符串对齐
  6. c语言编写程序能够随机出题,用C语言写一个 小学生口算出题系统
  7. Win10 + VS2017 + CPU + opencv3.2 + Darknet 配置
  8. 笔记-Flutter 之点击空白处取消TextField焦点
  9. 前端面试题(跟谁学)
  10. usaco3.2.3 01串