0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩RA8D1單片機(jī)RTC模塊實現(xiàn)方法

瑞薩MCU小百科 ? 來源:strongerHuang ? 2025-04-16 14:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:strongerHuang

RTC:Real Time Clock,實時時鐘

以前做項目要用時鐘,都是外掛一個時鐘芯片,隨著需求的增長和技術(shù)的發(fā)展,很多MCU內(nèi)部都集成了RTC(實時時鐘)這個模塊。

本文結(jié)合e2 studio開發(fā)環(huán)境、RA8D1單片機(jī)給大家描述RTC這個模塊的使用方法。

準(zhǔn)備工作

1下載并安裝e2studio工具

下載地址,推薦瑞薩官方的GitHub:

GitHub

https://github.com/renesas/fsp/releases

我們這里以瑞薩RA8D1單片機(jī)為例(當(dāng)然,其實RA系列單片機(jī)也類似):

5089bb0e-19b0-11f0-9310-92fbcf53809c.png

e2 studio配置RTC模塊

本文基于e2studio開發(fā)環(huán)境、RA8D1單片機(jī),實現(xiàn)日期和時間的功能。

1創(chuàng)建工程

我們會用到串口打印輸出,這里基于之前分享的UART串口工程進(jìn)行拓展。這里說幾個重要的地方,首先是UART串口時鐘,需要選擇SCICLK時鐘:

50afaf1c-19b0-11f0-9310-92fbcf53809c.png

再次,配置UART對應(yīng)的信息:

50cec0d2-19b0-11f0-9310-92fbcf53809c.png

50e9de30-19b0-11f0-9310-92fbcf53809c.png

還有設(shè)置,菜單:項目->C/C++Project Settings:

511260bc-19b0-11f0-9310-92fbcf53809c.png

2配置RTC模塊

為了方便大家理解,我們先以最基礎(chǔ)的方式配置RTC,然后,間隔1秒讀一次RTC并通過UART串口打印輸出。

配置RTC:Pins選項下,選擇RTC,配置模式。

5128309a-19b0-11f0-9310-92fbcf53809c.png

新建RTC模塊:我們添加RTC模塊并配置相關(guān)屬性(配置常用參數(shù),其實默認(rèn)即可)。

513acc6e-19b0-11f0-9310-92fbcf53809c.png

515f4012-19b0-11f0-9310-92fbcf53809c.png

3添加源代碼

我們這里簡單添加一個RTC模塊(源代碼文件),如圖:

519fa09e-19b0-11f0-9310-92fbcf53809c.png

bsp_rtct.c源代碼:

#include"bsp_rtc.h"


voidRTC_Init(void)
{
 //設(shè)置初始化日期和時間
 rtc_time_tset_time =
 { .tm_sec = RTC_SEC_SET, //秒
  .tm_min = RTC_MIN_SET, //分
  .tm_hour = RTC_HOUR_SET, //小時
  .tm_mday = RTC_MDAY_SET, //日(一個月中)
  .tm_wday = RTC_WDAY_SET, //星期
  .tm_mon = RTC_MON_SET -1, //月份
  .tm_year = RTC_YEAR_SET-1900,//年份
 };
 /*打開RTC*/
 R_RTC_Open(g_rtc.p_ctrl, g_rtc.p_cfg);
 /*設(shè)置時鐘源*/
 R_RTC_ClockSourceSet(g_rtc.p_ctrl);
 /* 設(shè)置日期時間 */
 R_RTC_CalendarTimeSet(g_rtc.p_ctrl, &set_time);
}
bsp_rtc.h頭代碼:
#ifndefBSP_RTC_H
#defineBSP_RTC_H


#include"hal_data.h"


/**********日期宏定義**********/
#defineRTC_YEAR_SET 2024   //年
#defineRTC_MON_SET 10     //月
#defineRTC_MDAY_SET 31     //日
/*換算星期*/
#defineRTC_WDAY_SET (RTC_YEAR_SET-2000 
         + ((RTC_YEAR_SET-2000)/4) 
         - 35 + (26*(RTC_MON_SET+1))/10 
         + RTC_MDAY_SET -1 )%7


/**********時間宏定義**********/
#defineRTC_HOUR_SET 23     //時
#defineRTC_MIN_SET 59     //分
#defineRTC_SEC_SET 50     //秒


voidRTC_Init(void);


#endif
這里我們只簡單的配置(初始化)了日期和時間,然后在應(yīng)用程序中,間隔1秒讀取并打印輸出。
voidhal_entry(void)
{
 staticrtc_time_tget_time;


 Debug_UART3_Init();// SCI3 UART 調(diào)試串口初始化
 RTC_Init();    //初始化RTC


 while(1)
  {
   R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_LOW);
   R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);// 延時500ms


   R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_HIGH);
   R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);// 延時500ms


   /*獲取當(dāng)前時間*/
   R_RTC_CalendarTimeGet(g_rtc.p_ctrl, &get_time);


   /*打印當(dāng)前時間*/
   printf("RTC:%d-%d-%d-%d:%d:%d
", get_time.tm_year +1900, get_time.tm_mon +1, get_time.tm_mday,
        get_time.tm_hour, get_time.tm_min, get_time.tm_sec);


  }
}

4演示效果

這里通過間隔1秒主動讀取RTC,并打印輸出顯示,最后效果:

51b4eb70-19b0-11f0-9310-92fbcf53809c.png

通過以上配置其實你會發(fā)現(xiàn)很簡單,還有一種通過RTC(1秒)中斷打印輸出,這樣就不需要主動讀取了。

方法其實很簡單,配置中斷:

51c731c2-19b0-11f0-9310-92fbcf53809c.png

然后在代碼中增加 rtc_callback 這個中斷回調(diào)函數(shù)。

voidrtc_callback(rtc_callback_args_t*p_args)
{
  staticrtc_time_tget_time;


  switch(p_args->event)
   {
    /*若是周期中斷,則打印日期時間*/
    caseRTC_EVENT_PERIODIC_IRQ:


     /*獲取當(dāng)前時間*/
     R_RTC_CalendarTimeGet(g_rtc.p_ctrl, &get_time);


     /*打印當(dāng)前時間*/
     printf("RTC:%d-%d-%d-%d:%d:%d
", get_time.tm_year +1900, get_time.tm_mon +1, get_time.tm_mday,
        get_time.tm_hour, get_time.tm_min, get_time.tm_sec);
     break;
    default:
     break;
   }
}

實現(xiàn)效果一樣,這樣就可以不需要應(yīng)用程序主動讀取了。

本文就分享到這里,希望對你們有所幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44961

    瀏覽量

    648862
  • 實時時鐘
    +關(guān)注

    關(guān)注

    4

    文章

    312

    瀏覽量

    66968
  • 瑞薩
    +關(guān)注

    關(guān)注

    36

    文章

    22376

    瀏覽量

    87894
  • 時鐘芯片
    +關(guān)注

    關(guān)注

    2

    文章

    268

    瀏覽量

    40696
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    619

    瀏覽量

    68559

原文標(biāo)題:瑞薩RA8系列教程 | RA8基于e2s實現(xiàn)RTC實時時鐘功能

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 1人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RA8D1 CEU介紹與使用說明

    RA8D1 MCU集成了高性能CM85內(nèi)核和大內(nèi)存,以及豐富的外設(shè)集,包括帶并行RGB和MIPI-DSI接口的高分辨率TFT-LCD控制器、2D繪圖引擎、16位攝像頭接口和多個外部內(nèi)存接口,經(jīng)過優(yōu)化可滿足各種圖形和視覺AI應(yīng)用的需求。
    的頭像 發(fā)表于 02-20 12:15 ?3195次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8D1</b> CEU介紹與使用說明

    基于RA8單片機(jī)的智能小車項目方案 附源代碼

    基于RA8單片機(jī),e2studio開發(fā)環(huán)境,給大家講述一下智能小車項目的方案,并附上主要的源代碼。
    的頭像 發(fā)表于 03-07 14:36 ?1394次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>單片機(jī)</b>的智能小車項目方案 附源代碼

    基于電子RA8D1 MCU的USB和I2S數(shù)字音頻應(yīng)用解決方案

    今天給大家介紹一下上海覺鑫智能科技有限公司基于電子RA8D1 MCU的USB&I2S數(shù)字音頻應(yīng)用解決方案。
    的頭像 發(fā)表于 04-30 14:47 ?1788次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA8D1</b> MCU的USB和I2S數(shù)字音頻應(yīng)用解決方案

    RA8D1單片機(jī)IO中斷配置實現(xiàn)方法

    本文為結(jié)合e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述RA8D1
    的頭像 發(fā)表于 04-09 15:05 ?912次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8D1</b><b class='flag-5'>單片機(jī)</b>IO中斷配置<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>方法</b>

    RA8D1 CPK開發(fā)板試用】開箱與點燈

    一、前言 RA8D1 CPK開發(fā)板是業(yè)界首款基于Arm Cortex-M85內(nèi)核的32位圖形微控制器,板載資源豐富,性能優(yōu)越。運(yùn)行在480MHz的主頻下可實現(xiàn)超過3000 Core
    發(fā)表于 10-08 01:04

    RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)

    首先感謝[RA生態(tài)工作室]( RA MCU 生態(tài)社區(qū))提供的
    發(fā)表于 10-20 20:22

    《電子發(fā)燒友電子設(shè)計周報》聚焦硬科技領(lǐng)域核心價值 第8期:2025.04.14--2025.04.18

    、開發(fā)技巧--芯微RK平臺開發(fā)必備的20個常用命令 6、基于 NXP NCJ29D5D UWB 定位算法方案 7、RA8D1
    發(fā)表于 04-18 20:03

    單片機(jī)】搭建單片機(jī)開發(fā)壞境

    單片機(jī)】搭建單片機(jī)開發(fā)壞境
    發(fā)表于 11-13 12:06 ?48次下載
    【<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>單片機(jī)</b>】搭建<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>單片機(jī)</b>開發(fā)壞境

    電子宣布推出RA8D1微控制器(MCU)產(chǎn)品群

    2023年12月12日,電子宣布推出RA8D1微控制器(MCU)產(chǎn)品群。RA8D1產(chǎn)品群作為
    的頭像 發(fā)表于 12-15 15:58 ?1391次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子宣布推出<b class='flag-5'>RA8D1</b>微控制器(MCU)產(chǎn)品群

    基于電子RA系列的野火耀陽RA8D1開發(fā)板產(chǎn)品簡介

    野火耀陽RA8D1開發(fā)板是一款功能強(qiáng)大的開發(fā)板,適用于各種嵌入式應(yīng)用開發(fā)。它采用電子的RA系列R7FA8D1BHECBD微控制器作為主控
    的頭像 發(fā)表于 05-29 14:19 ?1400次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>系列的野火耀陽<b class='flag-5'>RA8D1</b>開發(fā)板產(chǎn)品簡介

    RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux

    RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux
    的頭像 發(fā)表于 11-16 01:02 ?851次閱讀
    【<b class='flag-5'>RA8D1</b>試用活動】<b class='flag-5'>RA8D1</b>B-CPKCOR開發(fā)板移植linux

    RA8D1加密引擎功能體驗和實踐

    本次實踐完成了RA8D1芯片AES密鑰封裝和芯片上加解密功能驗證
    的頭像 發(fā)表于 11-23 01:01 ?839次閱讀
    <b class='flag-5'>RA8D1</b>加密引擎功能體驗和實踐

    RA8系列教程 | 基于 Keil 開發(fā) RA8單片機(jī)

    本文結(jié)合Cortext-M85單片機(jī)RA8D1、Keil MDK,以及自家的代碼初始化工
    的頭像 發(fā)表于 04-22 17:41 ?413次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b>系列教程 | 基于 Keil 開發(fā) <b class='flag-5'>RA8</b><b class='flag-5'>單片機(jī)</b>

    RA8系列教程 | RA8 開發(fā)環(huán)境搭建,并點亮一個LED

    今天就給大家講講基于Cortex-M85內(nèi)核RA8單片機(jī)快速上手指南。
    的頭像 發(fā)表于 06-04 17:32 ?459次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b>系列教程 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b> <b class='flag-5'>RA8</b> 開發(fā)環(huán)境搭建,并點亮一個LED

    RA8系列教程 | RA8基于e2s實現(xiàn)RTC實時時鐘功能

    本文結(jié)合e2 studio開發(fā)環(huán)境、RA8D1單片機(jī)給大家描述RTC這個模塊的使用方法
    的頭像 發(fā)表于 05-13 17:07 ?358次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b>系列教程 | <b class='flag-5'>RA8</b>基于e2s<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>RTC</b>實時時鐘功能

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品