本文為結(jié)合瑞薩e2studio工具,以及CPKCOR_RA8D1B評(píng)估板,給大家講述瑞薩RA8D1單片機(jī)IO中斷配置實(shí)現(xiàn)的方法。
實(shí)現(xiàn)簡(jiǎn)單的功能:配置一個(gè)LED翻轉(zhuǎn)(亮滅)+一個(gè)按鍵(Key)中斷,按鍵按一次,LED翻轉(zhuǎn)一下。
準(zhǔn)備工作
開發(fā)RA8D1單片機(jī)需要提前安裝好軟件工具,還有準(zhǔn)備好RA8板卡以及下載調(diào)試器。
1下載安裝集成開發(fā)環(huán)境
開發(fā)瑞薩RA8系列單片機(jī)的工具有很多,常見的主要是:
e2studio一站式服務(wù)工具
RASC+Keil,或RASC+IAR
推薦大家使用瑞薩官網(wǎng)的e2studio一站式服務(wù)工具。這里大家可以參看我之前分享的文章:
瑞薩RA8系列教程 | 瑞薩RA8開發(fā)環(huán)境搭建,并點(diǎn)亮一個(gè)LED
2準(zhǔn)備硬件板卡
本教程就使用瑞薩CPKCOR_RA8D1B評(píng)估板,這塊板卡集成了J-link,我們只需要用一根線連接電腦即可下載調(diào)試。
e2s配置按鍵中斷
e2studio可以理解為包含單片機(jī)底層配置工具、編輯器、編譯器、調(diào)試器等多種功能為一體的一站式服務(wù)工具,和其他一些MCU廠商的“可視化配置工具”類似,只需要?jiǎng)觿?dòng)鼠標(biāo),就能快速創(chuàng)建瑞薩單片機(jī)軟件工程。
我們這里配置一個(gè)LED翻轉(zhuǎn)(亮滅)+一個(gè)按鍵(Key)中斷:按鍵按一次,LED翻轉(zhuǎn)一下。
1基于e2s快速創(chuàng)建軟件工程模板
打開e2s,文件->新建->瑞薩C/C++項(xiàng)目->Renesas RA:

輸入工程名稱,比如我們輸入RA8D1_KEY:

選擇單片機(jī)型號(hào),比如R7FA8D1BHEC:

選擇Non-TrustZone項(xiàng)目工程:

選擇Executable:

選擇【Bare Metal-Minimal】,然后點(diǎn)擊完成,一個(gè)項(xiàng)目模板就創(chuàng)建好了。

2配置LED+KEY中斷
在【Pins】選項(xiàng)欄,選中LED引腳,我們這里PA01,配置為輸出模式。

然后,在IRQ欄目下,選中對(duì)于的中斷號(hào),我們使用P008作為按鍵中斷,這里就是IRQ12。

在【Stacks】選項(xiàng)欄,新增一個(gè)Stack->Input->External lRQ:

然后,設(shè)置對(duì)應(yīng)屬性:

3添加代碼實(shí)現(xiàn)按鍵中斷功能
這里,我們只需要在自帶的hal_entry.c源文件下添加少許代碼,即可實(shí)現(xiàn)按鍵中斷:按鍵KEY按下,LED翻轉(zhuǎn)。

#include "hal_data.h" FSP_CPP_HEADER void R_BSP_WarmStart(bsp_warm_start_event_t event); FSP_CPP_FOOTER /* 定義LED翻轉(zhuǎn) */ #define LED_TOGGLE R_PORT10->PODR ^= 1<<(BSP_IO_PORT_10_PIN_01 & 0xFF) /*******************************************************************************************************************//** ?* main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used. ?This function ?* is called by main() when no RTOS is used. ?**********************************************************************************************************************/ void hal_entry(void) { ? ? /* TODO: add your own code here */ ? ? //中斷初始化 ? ? R_ICU_ExternalIrqOpen(&g_external_irq12_ctrl, &g_external_irq12_cfg); ? ? R_ICU_ExternalIrqEnable(&g_external_irq12_ctrl); ? ? while(1) ? ? { ? ? } #if BSP_TZ_SECURE_BUILD ? ? /* Enter non-secure code */ ? ? R_BSP_NonSecureEnter(); #endif } /* 按鍵中斷回調(diào)函數(shù) */ void key_external_irq_callback(external_irq_callback_args_t?*p_args) { ? ? /* 判斷中斷通道?*/ ? ? if (12 == p_args->channel) { LED_TOGGLE; // 按鍵KEY按下,LED翻轉(zhuǎn) } }實(shí)現(xiàn)效果: 最后,這樣配置,是不是相對(duì)以前那種一步一步移植代碼更簡(jiǎn)單?
-
led
+關(guān)注
關(guān)注
243文章
24425瀏覽量
686949 -
單片機(jī)
+關(guān)注
關(guān)注
6074文章
45316瀏覽量
662732 -
瑞薩
+關(guān)注
關(guān)注
36文章
22428瀏覽量
89669 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
251瀏覽量
17512
發(fā)布評(píng)論請(qǐng)先 登錄
基于瑞薩電子RA8D1 MCU的USB和I2S數(shù)字音頻應(yīng)用解決方案
使用瑞薩RA8D1開發(fā)板實(shí)現(xiàn)人臉識(shí)別的應(yīng)用演示
【瑞薩RA8D1 CPK開發(fā)板試用】開箱與點(diǎn)燈
【瑞薩RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)
《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第7期:2025.04.7--2025.04.11
【CPKCOR-RA8D1】RA8D1開箱測(cè)試報(bào)告
瑞薩單片機(jī)之外部中斷實(shí)現(xiàn)按鍵的長(zhǎng)按與短按(二)
基于瑞薩電子RA系列的野火耀陽(yáng)RA8D1開發(fā)板產(chǎn)品簡(jiǎn)介
瑞薩RA8系列教程 | RA8基于e2s實(shí)現(xiàn)RTC實(shí)時(shí)時(shí)鐘功能
【有獎(jiǎng)評(píng)測(cè) 】最強(qiáng)Cortex-M85單片機(jī)!RA8D1套件(顯示屏+攝像頭)免費(fèi)評(píng)測(cè)

瑞薩RA8D1單片機(jī)IO中斷配置實(shí)現(xiàn)方法
評(píng)論