RTC(Real-Time Clock)实时时钟可以提供精确的实时时间,可以提供时钟日历的功能。目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。iCore3 RTC外加电池供电,为了在主电源掉电时还可以工作。RT-Thread的RTC设备为操作系统的时间系统提供了基础服务,面对越来越多的loT场景,RTC已经成为了产品的标配。
一、使能RTC,选择时钟源
1.1 我们打开../BSP/STM32/STM32F407_gingko_iCore3/board/CubeMX_Config来进行RTC使能配置,其他参数不予更改。配置完成后点击CREATE CODE。
1.2 CubeMX生成工程后,只保留红色方框内的文件,其他的两个文件夹可以删除掉。
1.13复制刚生成的src文件夹main.c文件夹中的函数SystemClock_Config(void)到board.c。这里内核初始化时要调用该函数进行时钟配置。
二、打修改Kconfig文件,在menu “On-chip Peripheral Drivers”下增加RTC选项
2.1打开../BSP/STM32/STM32F407_gingko_iCore3/board/Kconfig:
2.2点击保存,打开Env工具,输入menuconfig命令,使能RTC:
2.3保存退出,输入scons --target=mdk5生成工程,编译后发现在Drivers中添加了drv_rtc.c文件:
打开putty,选择正确的端口好,下载到开发板,会看到提示RTC还未配置:
输入date命令,在命令后面再依次输入年、月、日、时、分、秒(中间空格隔开,24H制),设置当前时间为2020-05-25 17:27:30,效果如下:
随后再查看RTC时,直接输入date命令即可。
来源:oschina
链接:https://my.oschina.net/u/4301845/blog/4291117