|
關注+星標公眾號,不錯過精彩內(nèi)容
來源 | 瑞薩嵌入式小百科
我們在做低功耗產(chǎn)品時,考慮低功耗,需要將單片機進入休眠狀態(tài),但我們也要定時喚醒單片機處理一些事件。比如:刷卡、無線接收等。
這個時候,我們就需要做定時休眠并喚醒,常見的做法就是通過RTC定時喚醒。
本文結合瑞薩RA2E1單片機,以及e2 Studio開發(fā)環(huán)境給大家講述單片機RTC定時休眠喚醒實現(xiàn)方法。
硬件準備
準備一塊RA2E1的開發(fā)板,這里使用的是我們自己做的簡易RA2E1開發(fā)板,芯片是R7FA2E1A72DFL#AA0,其主頻48Mhz,引腳數(shù)是48 pins,內(nèi)部閃存為64KB。開發(fā)板如下圖所示。
naioxve030464012093047.jpg (245.6 KB, 下載次數(shù): 11)
下載附件
保存到相冊
naioxve030464012093047.jpg
2024-9-27 07:22 上傳
軟件部分
1
打開e2 Studio開發(fā)環(huán)境
jv4cgpwxrrs64012093147.png (71.7 KB, 下載次數(shù): 10)
下載附件
保存到相冊
jv4cgpwxrrs64012093147.png
2024-9-27 07:22 上傳
2
利用文件菜單新建項目,如下圖所示。
v55j0s0dwoz64012093247.png (143.61 KB, 下載次數(shù): 12)
下載附件
保存到相冊
v55j0s0dwoz64012093247.png
2024-9-27 07:22 上傳
n5rhre2t0eh64012093347.png (84.23 KB, 下載次數(shù): 11)
下載附件
保存到相冊
n5rhre2t0eh64012093347.png
2024-9-27 07:22 上傳
3
填寫工程名稱和工程的保存位置,注意路徑中不要包含中文和空格,點擊下一步。
bjnaojte3b464012093447.png (91.35 KB, 下載次數(shù): 10)
下載附件
保存到相冊
bjnaojte3b464012093447.png
2024-9-27 07:22 上傳
4
選擇芯片對應型號和Debugger方式。點擊下一步。
al41aeamcb264012093547.png (99.1 KB, 下載次數(shù): 10)
下載附件
保存到相冊
al41aeamcb264012093547.png
2024-9-27 07:22 上傳
5
選擇Executable類型,保持RTOS選擇為No RTOS,點擊下一步。
2aowh5uug3f64012093647.png (109.86 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2aowh5uug3f64012093647.png
2024-9-27 07:22 上傳
6
選擇最小系統(tǒng),點擊完成。
3gx0lo20ejf64012093747.png (97.43 KB, 下載次數(shù): 12)
下載附件
保存到相冊
3gx0lo20ejf64012093747.png
2024-9-27 07:22 上傳
7
工程新建完成后,出現(xiàn)下圖界面,此時可以確認一下自己的配置信息是否正確。
ezlo4cr1gdk64012093847.png (156.52 KB, 下載次數(shù): 11)
下載附件
保存到相冊
ezlo4cr1gdk64012093847.png
2024-9-27 07:22 上傳
8
添加RTC模塊(RTC Driver on r_rtc)。
ur0z402xhgl64012093947.png (203.89 KB, 下載次數(shù): 11)
下載附件
保存到相冊
ur0z402xhgl64012093947.png
2024-9-27 07:22 上傳
9
按照項目需求配置喚醒時間與相關的中斷回調(diào)函數(shù)名稱。
eo4avnnenry64012094047.png (139.75 KB, 下載次數(shù): 12)
下載附件
保存到相冊
eo4avnnenry64012094047.png
2024-9-27 07:22 上傳
10
添加休眠模塊(Low Power Modes Driver on r_lpm)。
zzzosfqcnuw64012094147.png (170.53 KB, 下載次數(shù): 12)
下載附件
保存到相冊
zzzosfqcnuw64012094147.png
2024-9-27 07:22 上傳
11
設置相關休眠模式并勾選喚醒源,從而實現(xiàn)通過RTC Period喚醒。
z2g54lxggd564012094247.png (99.04 KB, 下載次數(shù): 12)
下載附件
保存到相冊
z2g54lxggd564012094247.png
2024-9-27 07:22 上傳
12
使用以下代碼在hal_entry()函數(shù)中初始化RTC和LPM模塊,并使系統(tǒng)進入低功耗模式。
rclutaho02v64012094347.png (151.61 KB, 下載次數(shù): 12)
下載附件
保存到相冊
rclutaho02v64012094347.png
2024-9-27 07:22 上傳
13
其中通過以下函數(shù)設置RTC中斷產(chǎn)生頻率。
zzvanwtzggb64012094447.png (80.17 KB, 下載次數(shù): 11)
下載附件
保存到相冊
zzvanwtzggb64012094447.png
2024-9-27 07:22 上傳
14
示波器實測數(shù)據(jù)。
kp25phx1agv64012094548.png (556.12 KB, 下載次數(shù): 11)
下載附件
保存到相冊
kp25phx1agv64012094548.png
2024-9-27 07:22 上傳
15
在RTC中斷回調(diào)函數(shù)中控制GPIO翻轉,上述示波器數(shù)據(jù)由此而來。
gizdycchxz464012094648.png (109.49 KB, 下載次數(shù): 11)
下載附件
保存到相冊
gizdycchxz464012094648.png
2024-9-27 07:22 上傳
16
在初始化時注意應先初始化日歷時間。
ycgllmr134x64012094748.png (147.22 KB, 下載次數(shù): 12)
下載附件
保存到相冊
ycgllmr134x64012094748.png
2024-9-27 07:22 上傳
17
至此,系統(tǒng)可以實現(xiàn)每65ms進入一次RTC中斷,并喚醒MCU。
------------ END ------------
owrcrd0wrvm64012094848.gif (71.87 KB, 下載次數(shù): 12)
下載附件
保存到相冊
owrcrd0wrvm64012094848.gif
2024-9-27 07:22 上傳
●瑞薩RA8系列教程 | 初識瑞薩 RA8 系列單片機●瑞薩RA8系列教程 | 瑞薩 RA8 開發(fā)環(huán)境搭建●瑞薩RA8系列教程 | 基于 Keil 開發(fā) RA8單片機●瑞薩RA8系列教程 | 基于e2s實現(xiàn)RA8串口輸出配置 |
|