问题

如何为EFM32实现基于RTC的软件无滴答日历?

答案

很多基于微控制器的应用需要以最低功耗记录时间和日期。为了达到这个目的,你可以在EFM32上使用以软件方式实现的无滴答日历。该日历使用标准C库 time.h, 在time.h中实现的timer()函数基于RTC计数值来计算日历时间。

  

软件:

C Date and Time - 这些函数基于Uunix时间,其定义是自从Unix epoch(1970年一月一日午夜世界时)之后已经经历的时间。

 

Clock.c -  包含了无滴答日历需要的一些函数。 该文件还记录RTC在启动之后已经溢出了多少次, 该功能是RTC溢出情况下来正确记录时间所需要的。Clock.c包含许多函数以及常量,比如clockInit(), clockSetStartCalendar() 和 clockOverflow()。

 

Clock_tc.c - Clock_tc.c 是clock.c带温度补偿功能的版本。

 

Calendar_ui.c - Calendar_ui.c 包含一些处理用户界面的函数。

 

请阅读完整的应用笔记AN0006以获更详尽的信息以及可在EFM32TG_STK3300,EFM32G_STK3700 和 EFM32_Gxxx_STK STK 运行的示例代码。

 UTC 

  • Knowledge Base Articles
  • 32-bit MCUs