0
点赞
收藏
分享

微信扫一扫

RT-Thread 4.1.0 开启 RTC模块


前言

  • RT-Thread 的驱动框架里有RTC,基于STM32 的BSP,有现成的RTC驱动,STM32本身有ST 官方的RTC HAL 支持,所以如果STM32的BSP上开启RTC,简单配置一下即可
  • RTC 也就是实时时钟,开启后,可以轻松的设置日期时间与获取日期与时间,可以基于RTC开启闹钟功能等

开发环境

  • stm32l476-st-nucleo开发板,基于STM32L476RG
  • RT-Thread 4.1.0
  • Keil MDK5

操作步骤

  • 这里可以搭建一个 stm32l476-st-nucleo 的最小RT-Thread 系统
  • RTC 模块主要包括:RTC 驱动、RTC框架文件、RTC ST HAL库三部分,RT-Thread EVN menuconfig 配置,开启 RTC驱动后,会自动把 RTC框架文件与 ST RTC HAL库文件包含进去,所以开启方法非常的简单
  • 这里需要注意:板子的RTC 时钟源是外部的32768Hz晶振,还是STM32内部的LSI时钟源
  • 开启RTC驱动后,RTC框架自动开启了

功能验证

  • RT-Thread ENV 工具: 运行:​​scons --target=mdk5​​,重新生成Keil MDK5的工程
  • 打开工程,发现RTC相关的文件,都包含进来了

RT-Thread 4.1.0 开启 RTC模块_时间戳

RT-Thread 4.1.0 开启 RTC模块_开发板_02

  • 编译下载,打开串口终端,输入:​​date​​ 命令,可以查看系统的日期时间
  • 可以使用 shell 命令:​​date​​ 修改系统的时间

msh >date 2022 05 31 20 34 00           /* 修改系统(开发板)的时间 */
old: Tue May 31 20:33:55 2022
now: Tue May 31 20:34:00 2022
msh >date /* 显示系统(开发板)的时间 */
local time: Tue May 31 20:34:01 2022
timestamps: 1654000441
timezone: UTC+8

小结

  • STM32 平台RTC 的功能,因为RT-Thread 适配的很好,所以基本上配置好就可以正常使用了
  • 后面再开启RTC Alarm 闹钟框架,实现定时闹钟功能
  • 这里需要了解一个事实:RTC的时间,或者说是实际戳,是UTC时间,也就是不包含【时区】的
  • shell 命令:​​date​​ 显示与设置的时间,是包含【时区】的,但底层的 RTC 时间是不包含时区的,时间戳都是不包含时区的
  • 如下:时间戳转换成【北京时间】 ​​https://tool.lu/timestamp​​
  • RT-Thread 4.1.0 开启 RTC模块_开发板_03



举报

相关推荐

0 条评论