前言
最近捣鼓RT-Thread的RTC时钟时,发现有点小bug(4.1.0版本的bug,之前用4.0.1还没发现),记录一下学习的过程。
平台
芯片:STM32F405RGT6
RT-Thread版本:4.1.0(发行版)
硬件:使用内部时钟
配置ENV
- 开启RTC组件,不要选择软件模拟RTC
- 使能RTC片上外设
- 选择时钟源。我这里硬件上没有外接晶振,所以只能用内部时钟。
- scons生成工程
配置CubeMX
- 使能RTC
- 配置时钟
- 将CubeMX生成的工程文件中的时钟配置函数替换到rtthread的工程中
添加代码
- 设置时间的函数
void rtc_set_time(int argc, char *argv[])
{
if(argc < 2)
{
return;
}
else
{
time_t timestamp = atoi