基於 SemiDrive E3640 Gateway MCAL3.0 RTC 測試

一、測試環境

硬體: E3 Gateway A02 開發板,圖(1)

軟體:E3 MCAL3.0 e3_ref_gateway 工程。


二、測試方法與說明

     啟動開發板,輸入 help 命令,可以發現有如圖(2)所示的 demo。這些 demo 的實現在MCAL_release\test_suite\example\mcu_example\mcu_example.c 文件中

 

1)rtc_time_test_example()用於設置萬年曆。依次傳入參數

<year> <month> <day> <hour> <second> <RTC index>,其中 <RTC index> 用於指定使用 RTC0 還是RTC1。函數調用流程如圖(3),Rtc_SetTime()函數用於將傳入的年月日時分秒轉化為 sec,然後寫入 RTC 模塊對應的寄存器。

 

 

測試結果見圖(4),設置時間為 2023/02/04 11:11:11,使用 rtc0。

2)rtc_alarm_test_example()函數用於設置alarm,首先設置默認日期為2022/8/16 10:14:00,

然後調用Rtc_SetAlarmTime()設置3個alarm,分別是 10s 25s 50s 後觸發。

測試結果見圖(6),經過對應的時間後,相關 alarm 事件觸發。

3)rtc_alarm_clear_test_example()用於測試 alarm 清除功能,和rtc_time_test_example()代碼不同的地方在於 i=1(即25s)時,調用Rtc_ClearAlarmTime()清除alarm。代碼區別和測試結果如圖(7)所示。

4)rtc_is_leap_year_example()用於計算某年是否是閏年,測試結果如圖(8)

 

5)rtc_get_sleep_example()用於測試 RTC 休眠,調用 Mcu_SetMode(MCU_MODE_RTC); 進入休眠模式。10s 後自動喚醒,或者按下板子上的 SYS_WAKEUPO 按鈕。

 

 

10s 的時間是通過EB 配置的,配置路徑如下圖(10):

6)rtc_clear_timercount_example()用於reset 萬年曆。恢復到1970/01/01,測試結果如圖(11)

 

參考文獻:

  1. 12.pdf
  2. 0.pdf

 


歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Sim Guo / 郭夕峰

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論