電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 639|回復(fù): 0
收起左側(cè)

單片機(jī)RTC定時(shí)休眠喚醒實(shí)現(xiàn)方法

[復(fù)制鏈接]

418

主題

418

帖子

4293

積分

四級(jí)會(huì)員

Rank: 4

積分
4293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-26 11:45:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容
來(lái)源 | 瑞薩嵌入式小百科

我們?cè)谧龅凸漠a(chǎn)品時(shí),考慮低功耗,需要將單片機(jī)進(jìn)入休眠狀態(tài),但我們也要定時(shí)喚醒單片機(jī)處理一些事件。比如:刷卡、無(wú)線接收等。

這個(gè)時(shí)候,我們就需要做定時(shí)休眠并喚醒,常見(jiàn)的做法就是通過(guò)RTC定時(shí)喚醒。

本文結(jié)合瑞薩RA2E1單片機(jī),以及e2 Studio開(kāi)發(fā)環(huán)境給大家講述單片機(jī)RTC定時(shí)休眠喚醒實(shí)現(xiàn)方法。

硬件準(zhǔn)備
準(zhǔn)備一塊RA2E1的開(kāi)發(fā)板,這里使用的是我們自己做的簡(jiǎn)易R(shí)A2E1開(kāi)發(fā)板,芯片是R7FA2E1A72DFL#AA0,其主頻48Mhz,引腳數(shù)是48 pins,內(nèi)部閃存為64KB。開(kāi)發(fā)板如下圖所示。


軟件部分
1
打開(kāi)e2 Studio開(kāi)發(fā)環(huán)境


2
利用文件菜單新建項(xiàng)目,如下圖所示。



3
填寫工程名稱和工程的保存位置,注意路徑中不要包含中文和空格,點(diǎn)擊下一步。


4
選擇芯片對(duì)應(yīng)型號(hào)和Debugger方式。點(diǎn)擊下一步。


5
選擇Executable類型,保持RTOS選擇為No RTOS,點(diǎn)擊下一步。


6
選擇最小系統(tǒng),點(diǎn)擊完成。


7
工程新建完成后,出現(xiàn)下圖界面,此時(shí)可以確認(rèn)一下自己的配置信息是否正確。


8
添加RTC模塊(RTC Driver on r_rtc)。


9
按照項(xiàng)目需求配置喚醒時(shí)間與相關(guān)的中斷回調(diào)函數(shù)名稱。


10
添加休眠模塊(Low Power Modes Driver on r_lpm)。


11
設(shè)置相關(guān)休眠模式并勾選喚醒源,從而實(shí)現(xiàn)通過(guò)RTC Period喚醒。


12
使用以下代碼在hal_entry()函數(shù)中初始化RTC和LPM模塊,并使系統(tǒng)進(jìn)入低功耗模式。


13
其中通過(guò)以下函數(shù)設(shè)置RTC中斷產(chǎn)生頻率。


14
示波器實(shí)測(cè)數(shù)據(jù)。


15
在RTC中斷回調(diào)函數(shù)中控制GPIO翻轉(zhuǎn),上述示波器數(shù)據(jù)由此而來(lái)。


16
在初始化時(shí)注意應(yīng)先初始化日歷時(shí)間。


17
至此,系統(tǒng)可以實(shí)現(xiàn)每65ms進(jìn)入一次RTC中斷,并喚醒MCU。
------------ END ------------

●瑞薩RA8系列教程 | 初識(shí)瑞薩 RA8 系列單片機(jī)●瑞薩RA8系列教程 | 瑞薩 RA8 開(kāi)發(fā)環(huán)境搭建●瑞薩RA8系列教程 | 基于 Keil 開(kāi)發(fā) RA8單片機(jī)瑞薩RA8系列教程 | 基于e2s實(shí)現(xiàn)RA8串口輸出配置

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表