新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 瑞薩RA0單片機連載之九?RTC

        瑞薩RA0單片機連載之九?RTC

        作者:lulugl 時間:2025-06-27 來源:EEPW 收藏


        本文引用地址:http://www.104case.com/article/202506/471810.htm

        RA0E1的RTC(Real Time Clock) 外設(shè), 實質(zhì)是一個掉電后還繼續(xù)運行的定時器。RA0E1 的實時時鐘(RTC)有兩種計數(shù)模式:日歷計數(shù)模式、二進制計數(shù)模式,可以通過寄存器的設(shè)置來切換模式。對于日歷計數(shù)模式,RTC 具有從2000 年到2099 年的100年日歷,并自動調(diào)整閏年的日期。對于二進制計數(shù)模式,RTC計數(shù)秒,并保留信息作為串行值。二進制計數(shù)模式可用于公歷(西歷)以外的日歷。

        本篇主要介紹如何使用RASC配置RTC,并使用RTC中斷來更新時間,在OLED中顯示實時時間。

        1.打開RASC配置工具,新增一個stack:

        1751028808450069.png

        2.在g_rtc屬性中,配置他為g_rtc0,開啟中斷,并設(shè)置中斷函數(shù)為rtc_callback,中斷級別為Priority3

        1751028841453625.png

        3.保存配置并重新生成代碼。

        4.添加drv_rtc.c/h

        在drv_rtc.c中添加代碼如下:

        image.png

        image.png

        本函數(shù)為初始化RTC,先定義一個Settime 結(jié)構(gòu)體,將需要初始化的年月日時分秒以及星期添calendarTimeSet來設(shè)置時間。

        使用periodicIrqRateSet 設(shè)置一個1 秒的中斷。

        view plaincopy to clipboardprint?

        1. void rtc_callback(rtc_callback_args_t * p_args)

        2. {

        3.    if(RTC_EVENT_PERIODIC_IRQ == p_args->event)

        4.     {

        5.     /* 若是周期中斷,獲取日期*/

        6.     gRtcPeriodFlag = true;

        7.         g_rtc0.p_api->calendarTimeGet(g_rtc0.p_ctrl, (rtc_time_t*)&gCurTime);

        8.     }

        9. }

        在回調(diào)函數(shù)中,更新獲取時間標(biāo)志,并把當(dāng)前時間讀取到gCurTime中。

        同時我們開放一個RTCDrvGetTime函數(shù),用于返回時間。

        view plaincopy to clipboardprint?

        1. int RTCDrvGetTime(rtc_time_t *time)

        2. {

        3.     if(RTCDrvWaitPeriodInt())

        4.     {

        5.         *time = gCurTime;

        6.         return true;

        7.     }

        8.     return false;

        9. }

        1   測試

        在主函數(shù)中,先初始化RTC,然后在大循環(huán)中獲取時間,并更新到OLED屏上:

        1751028934594806.png

        2   總結(jié)

        的RASC可以方便的配置外設(shè),本實驗采用面向?qū)ο蟮木幊趟枷雭眚?qū)動RTC,實現(xiàn)了1秒的中斷,在回調(diào)中獲取當(dāng)時間,并實時更新到OLED屏上。

        實驗現(xiàn)象:

        1751028981172151.png

        (本文來源于《EEPW》



        關(guān)鍵詞: 202506 瑞薩 RA0單片機

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 泾阳县| 象州县| 苏尼特左旗| 二连浩特市| 阜阳市| 西充县| 保定市| 湖北省| 麻阳| 游戏| 瑞安市| 建阳市| 长宁区| 襄樊市| 郯城县| 潞西市| 荣昌县| 县级市| 阿克苏市| 吉水县| 黎川县| 博野县| 东莞市| 新密市| 玉田县| 镇巴县| 红原县| 正镶白旗| 尼勒克县| 湖南省| 温泉县| 靖宇县| 常德市| 黔西| 济阳县| 清新县| 高要市| 西宁市| 乌恰县| 鹤岗市| 溧水县|