[原创] [ ST NUCLEO-U575ZI-Q 测评]+ RTC电子时钟

jinglixixi   2022-12-17 20:33 楼主

在厂家的例程中,提供了RTC的使用示例,将它与串行数码管模块相结合即可实现电子时钟的效果,见下图所示。

image.png 计时效果

 

在实现电子时钟显示效果时,需对RTC时钟显示函数加以修改,修改后的内容如下:

static void RTC_TimeShow(uint8_t *showtime)
{
  RTC_DateTypeDef sdatestructureget;
  RTC_TimeTypeDef stimestructureget;
  HAL_RTC_GetTime(&hrtc, &stimestructureget, RTC_FORMAT_BIN);
  Write_Max7219(8,stimestructureget.Hours/10);
  Write_Max7219(7,stimestructureget.Hours%10);
  Write_Max7219(5,stimestructureget.Minutes/10);
  Write_Max7219(4,stimestructureget.Minutes%10);
  Write_Max7219(2,stimestructureget.Seconds/10);
  Write_Max7219(1,stimestructureget.Seconds%10);
}

 

值得注意的是,RTC所读取到的计时值是以十六进制的形式呈现的,因此需要对数值显示函数加以修改,进而实现十六进制数的显示处理。

实现上图显示效果的主程序为:

int main(void)
{
  HAL_Init();
  HAL_PWR_EnableBkUpAccess();
  __HAL_RCC_BACKUPRESET_FORCE();
  __HAL_RCC_BACKUPRESET_RELEASE();
  SystemClock_Config();
  SystemPower_Config();
  MX_ICACHE_Init();
  MX_RTC_Init();
  BSP_LED_Init(LED2);
  BSP_LED_Init(LED3);
  RTCStatus = 1;
  
  app_MAX7219();
  Init_MAX7219();
  Write_Max7219(3,10);
  Write_Max7219(6,10);
  while (1)
  {
    RTC_TimeShow(aShowTime);
  }
}

 

此外,为了方便校时处理,还可以添加参数键入处理函数来进行时间校正!

 

视频演示: https://www.bilibili.com/video/BV1pD4y1h7Yu/?vd_source=f302fc0cc3a0425328db53a3b92082ca

 

回复评论 (3)

66666,这个有特色。
点赞  2022-12-18 23:24
引用: lugl4313820 发表于 2022-12-18 23:24 66666,这个有特色。

多谢支持!!!

点赞  2022-12-18 23:26

测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html

玩板看这里: https://bbs.eeworld.com.cn/elecplay.html EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
点赞  2023-1-12 09:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复