查看: 1150|回复: 0

[评测分享] 【NXP OKdo E1双核Cortex M33开发板】测评+ RTC电子时钟

[复制链接]
  • TA的每日心情
    奋斗
    2023-5-10 20:09
  • 签到天数: 1742 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2020-11-15 18:31:23 | 显示全部楼层 |阅读模式
    分享到:
    在LPC55S69的内核中配置了RTC计时器,并在函数库中也提供了相应的函数支持。为此,我们只需要调用相关的函数并为它配置一个显示屏就可实现RTC电子时钟的功能。
    实现图示效果的主程序为:
    1. int main(void)
    2. {
    3. uint32_t sec,i;
    4. uint32_t currSeconds;
    5. uint8_t index;
    6. rtc_datetime_t date;
    7. /* Board pin, clock, debug console init */
    8. /* attach 12 MHz clock to FLEXCOMM0 (debug console) */
    9. CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
    10. /* Enable the RTC 32K Oscillator */
    11. //  SYSCON->RTCOSCCTRL |= SYSCON_RTCOSCCTRL_EN_MASK;
    12. BOARD_InitPins();
    13. BOARD_BootClockFROHF96M();
    14. BOARD_InitDebugConsole();
    15. /* Init RTC */
    16. RTC_Init(RTC);
    17. app_oled_init();
    18. OLED_Init();
    19. OLED_Clear();
    20. OLED_ShowString(0,0,"OKDOE1 TEST",16);
    21. OLED_ShowString(0,2,"RTC & OLED",16);
    22. OLED_ShowString(0,5,"  :  :",16);
    23. /* Set a start date time and start RT */
    24. date.year   = 2020U;
    25. date.month  = 11U;
    26. date.day    = 11U;
    27. date.hour   = 19U;
    28. date.minute = 0;
    29. date.second = 0;
    30. /* RTC time counter has to be stopped before setting the date & time in the TSR register */
    31. RTC_StopTimer(RTC);
    32. /* Set RTC time to default */
    33. RTC_SetDatetime(RTC, &date);
    34. /* Enable RTC alarm interrupt */
    35. RTC_EnableInterrupts(RTC, kRTC_AlarmInterruptEnable);
    36. /* Enable at the NVIC */
    37. EnableIRQ(RTC_IRQn);
    38. /* Start the RTC time counter */
    39. RTC_StartTimer(RTC);
    40. /* This loop will set the RTC alarm */
    41. while (1)
    42. {
    43. busyWait = true;
    44. index    = 0;
    45. sec      = 0;
    46. /* Get date time */
    47. RTC_GetDatetime(RTC, &date);
    48. OLED_ShowNum(0,5,date.hour,2,16);
    49. OLED_ShowNum(24,5,date.minute,2,16);
    50. OLED_ShowNum(48,5,date.second,2,16);
    51. for(i=0;i<10000;i++);
    52. }
    53. }
    复制代码

    在主程序中,包括了RTC时钟的设置环节,在初次使用时,只需按时时间加以调整即可。
    此外,如果感兴趣的话,还可利用开发板上的小按键来随机调整RTC的系统时间。
    小家伙,一样会有大力量!
    1.jpg
    RTC电子时钟
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 17:08 , Processed in 0.117167 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.