蓝桥杯嵌入式(G431)备赛笔记——RTC

cpp 复制代码
// RTC time

// 声明一个变量 rtc_tick 用于记录上次 RTC 处理的时间
u32 rtc_tick = 0;

// 声明结构体变量 D 用于存储 RTC 的日期信息
RTC_DateTypeDef D;

// 声明结构体变量 T 用于存储 RTC 的时间信息
RTC_TimeTypeDef T;

// RTC_proc 函数,用于处理 RTC 时间
void RTC_proc()
{
    // 如果当前时间与上次 RTC 处理时间的时间差小于100ms,则退出函数,等待下一次执行
    if (uwTick - rtc_tick < 100)
        return;

    // 更新 rtc_tick 为当前时间
    rtc_tick = uwTick;

    // 注意这里需要同时获取时间和日期信息,不能只获取时间或日期
    HAL_RTC_GetTime(&hrtc, &T, RTC_FORMAT_BIN); // 获取 RTC 时间
    HAL_RTC_GetDate(&hrtc, &D, RTC_FORMAT_BIN); // 获取 RTC 日期
}

// 将获取到的 RTC 时间和日期信息显示在 LCD 上
sprintf((char *)lcd_buff, "      %02d-%02d-%02d     ", T.Hours, T.Minutes, T.Seconds); // 格式化时间信息
LCD_DisplayStringLine(Line8, lcd_buff); // 在 LCD 的第8行显示时间信息

sprintf((char *)lcd_buff, "      %02d-%02d-%02d-%d     ", 2000 + D.Year, D.Month, D.Date, D.WeekDay); // 格式化日期信息
LCD_DisplayStringLine(Line9, lcd_buff); // 在 LCD 的第9行显示日期信息

配置rtc,启用时钟源(内部的32mhz),配置预分频和分频数,配置起始时间23:59:55,设置起始年月

相关推荐
small_wh1te_coder17 小时前
GCC深度剖析:从编译原理到嵌入式底层实战
汇编·c++·面试·嵌入式·状态模式·c
stone519520 小时前
TOTP算法与HOTP算法
c语言·物联网·算法·嵌入式·iot平台·智能门锁
Wallace Zhang21 小时前
STM32 - Embedded IDE - GCC - 解决LWRB库在GCC编译器会编译失败,在ARMCC编译器时却正常编译
ide·stm32·嵌入式硬件
xnglan21 小时前
蓝桥杯手算题和杂题简易做法
数据结构·数据库·c++·python·算法·职场和发展·蓝桥杯
ksk自在无敌1 天前
ESP8266的AP模式与STA编写,
stm32·单片机·嵌入式硬件
jllllyuz1 天前
SysTick定时器的工作原理是什么
stm32·单片机·嵌入式硬件
滴滴滴嘟嘟嘟.1 天前
STM32 HAL驱动MPU6050传感器
stm32·单片机·嵌入式硬件
Warren981 天前
MySQL,Redis重点面试题
java·数据库·spring boot·redis·mysql·spring·蓝桥杯
食鹿...1 天前
【记录贴】STM32 I2C 控制 OLED 卡死?根源在 SR1 与 SR2 的读取操作
stm32·单片机·嵌入式硬件
范纹杉想快点毕业2 天前
《嵌入式 C 语言编码规范与工程实践个人笔记》参考华为C语言规范标准
服务器·c语言·stm32·单片机·华为·fpga开发·51单片机