打印
[应用方案]

【NuMaker-M471测评】RTC电子时钟

[复制链接]
2528|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在开发板的例程中,配有RTC计时的程序,将它与前面介绍的OLED屏相配合可轻松实现一个RTC电子时钟。
RTC例程的功能是先读取RTC开始计时,在5秒后再按重新设置的时间来计时,其运行效果如图1和图2所示。
                              
图1 读取RTC时间
图2 设置新时间并计时
  
图3  OLED屏显示RTC
实现图3所示计时效果的主程序为:
int main(void)
{
S_RTC_TIME_DATA_T sInitTime, sReadRTC;
uint32_t u32Sec;
uint8_t u8IsNewDateTime = 0;
/* Init System, peripheral clock and multi-function I/O */
SYS_Init();
/* Init UART for printf */
UART_Init();
GPIO_SetMode(PB, BIT14, GPIO_MODE_OUTPUT);
GPIO_SetMode(PC, BIT1, GPIO_MODE_OUTPUT);
GPIO_SetMode(PC, BIT0, GPIO_MODE_OUTPUT);
GPIO_SetMode(PH, BIT4, GPIO_MODE_INPUT);
PB14 = 1;
OLED_Init();
OLED_Clear();
OLED_ShowString(0,0,"M471 RTC",16);
OLED_ShowString(0,2,"OLED DISPLAY",16);
TIMER_Delay(TIMER0, 2000000);
OLED_Clear();
/* Enable RTC NVIC */
NVIC_EnableIRQ(RTC_IRQn);
/* Open RTC and start counting */
sInitTime.u32Year       = 2021;
sInitTime.u32Month      =8;
sInitTime.u32Day        = 13;
sInitTime.u32Hour       = 12;
sInitTime.u32Minute     = 30;
sInitTime.u32Second     = 0;
sInitTime.u32DayOfWeek  = 5;
sInitTime.u32TimeScale  = RTC_CLOCK_24;
RTC_Open(&sInitTime);
/* Enable RTC tick interrupt, one RTC tick is 1 second */
RTC_EnableInt(RTC_INTEN_TICKIEN_Msk);
RTC_SetTickPeriod(RTC_TICK_1_SEC);
/* Use PA.2 to check tick period time */
PA->MODE = (PA->MODE & ~GPIO_MODE_MODE2_Msk) | (GPIO_MODE_OUTPUT << GPIO_MODE_MODE2_Pos);
PA2 = 1;
u32Sec = 0;
g_u32RTCTInt = 0;
OLED_ShowString(0,0,"00:00:00",16);
while(1)
{
if(g_u32RTCTInt == 1)
{
g_u32RTCTInt = 0;
/* Read current RTC date/time */
RTC_GetDateAndTime(&sReadRTC);
OLED_ShowNum(0,0,sReadRTC.u32Hour,2,16);
OLED_ShowNum(24,0,sReadRTC.u32Minute,2,16);
OLED_ShowNum(48,0,sReadRTC.u32Second,2,16);
if(u32Sec == sReadRTC.u32Second)
{
while(1) {}
}
u32Sec = sReadRTC.u32Second;
if(u8IsNewDateTime == 0)
{
if(u32Sec == (sInitTime.u32Second + 5))
{
u8IsNewDateTime = 1;
RTC_SetDate(2021, 7, 30, RTC_FRIDAY);
RTC_SetTime(11, 12, 13, RTC_CLOCK_24, RTC_AM);
}
}
}
}
}



使用特权

评论回复
沙发
天意无罪| | 2021-8-15 11:06 | 只看该作者
不得不说,新唐开发板的这个颜色真靓,真辣眼睛,哈哈哈。

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2021-8-15 11:59 | 只看该作者
天意无罪 发表于 2021-8-15 11:06
不得不说,新唐开发板的这个颜色真靓,真辣眼睛,哈哈哈。

没错!!!

使用特权

评论回复
地板
littlelida| | 2021-8-16 09:26 | 只看该作者
不错,你这一期一期的评测,很nice

使用特权

评论回复
5
jinglixixi|  楼主 | 2021-8-16 09:27 | 只看该作者

使用特权

评论回复
6
huahuagg| | 2023-9-27 20:06 | 只看该作者
用的什么串口助手啊,看着功能可以啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

455

主题

2756

帖子

38

粉丝