当前位置:   article > 正文

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

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

  1. // RTC time
  2. // 声明一个变量 rtc_tick 用于记录上次 RTC 处理的时间
  3. u32 rtc_tick = 0;
  4. // 声明结构体变量 D 用于存储 RTC 的日期信息
  5. RTC_DateTypeDef D;
  6. // 声明结构体变量 T 用于存储 RTC 的时间信息
  7. RTC_TimeTypeDef T;
  8. // RTC_proc 函数,用于处理 RTC 时间
  9. void RTC_proc()
  10. {
  11. // 如果当前时间与上次 RTC 处理时间的时间差小于100ms,则退出函数,等待下一次执行
  12.     if (uwTick - rtc_tick < 100)
  13.         return;
  14. // 更新 rtc_tick 为当前时间
  15.     rtc_tick = uwTick;
  16.     // 注意这里需要同时获取时间和日期信息,不能只获取时间或日期
  17.     HAL_RTC_GetTime(&hrtc, &T, RTC_FORMAT_BIN); // 获取 RTC 时间
  18.     HAL_RTC_GetDate(&hrtc, &D, RTC_FORMAT_BIN); // 获取 RTC 日期
  19. }
  20. // 将获取到的 RTC 时间和日期信息显示在 LCD 上
  21. sprintf((char *)lcd_buff, "      %02d-%02d-%02d     ", T.Hours, T.Minutes, T.Seconds); // 格式化时间信息
  22. LCD_DisplayStringLine(Line8, lcd_buff); // 在 LCD 的第8行显示时间信息
  23. sprintf((char *)lcd_buff, "      %02d-%02d-%02d-%d     ", 2000 + D.Year, D.Month, D.Date, D.WeekDay); // 格式化日期信息
  24. LCD_DisplayStringLine(Line9, lcd_buff); // 在 LCD 的第9行显示日期信息

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/453667
推荐阅读
相关标签
  

闽ICP备14008679号