概述
本篇文章主要介紹如何使用e2studio對(duì)瑞薩單片機(jī)進(jìn)行EXIT檢測(cè),之后通過(guò)按鍵形式以及燈的亮滅形式進(jìn)行演示。
樣品申請(qǐng)
https://www.wjx.top/vm/wBbmSFp.aspx#
硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是芯片型號(hào)R7FA4M2AD3CFP的開(kāi)發(fā)板:
開(kāi)發(fā)板
新建工程
工程模板
保存工程路徑
芯片配置
本文中使用R7FA4M2AD3CFP來(lái)進(jìn)行演示。
工程模板選擇
時(shí)鐘配置
開(kāi)發(fā)板上的外部高速晶振為12M,需要修改XTAL為12M.
外部中斷接口
外部中斷是單片機(jī)實(shí)時(shí)地處理外部事件的一種內(nèi)部機(jī)制。當(dāng)某種外部事件發(fā)生時(shí),單片機(jī)的中斷系統(tǒng)將迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進(jìn)行中斷事件的處理;中斷處理完畢后.又返回被中斷的程序處,繼續(xù)執(zhí)行下去。 查閱RA4M2說(shuō)明也可以得知,有些管腳可能會(huì)共用一個(gè)通道。
EXIT
板子上有一個(gè)按鍵P104(IRQ1)和2個(gè)LED燈。 通過(guò)按鍵進(jìn)行EXIT檢測(cè),通過(guò)按鍵形式以及燈的亮滅形式進(jìn)行演示。
LED燈配置
LED燈的P301腳配置為輸出。
EXIT配置
點(diǎn)擊Stacks->New Stack->Driver->Input -> External IRQ Driver on r_icu 。
EXIT屬性配置
EXIT屬性配置如下。
觸發(fā)方式如下所示。
工程文件
打開(kāi)main.c函數(shù),發(fā)現(xiàn)寫(xiě)了一個(gè)hal_entry ()函數(shù)。 打開(kāi)hal_entry.c,可以看到在hal_entry函數(shù)內(nèi),注釋著可以在這輸入自己的代碼。
R_ICU_ExternalIrqOpen()函數(shù)原型
R_ICU_ExternalIrqOpen()函數(shù)為配置用于外部中斷接口的 IRQ 輸入引腳,配置如下所示。
/* Configure the external interrupt. */
fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_irq1_ctrl, &g_external_irq1_cfg);
assert(FSP_SUCCESS == err);
R_ICU_ExternalIrqEnable()函數(shù)原型
R_ICU_ExternalIrqEnable()函數(shù)為在 NVIC 上為指定通道啟用外部中斷,配置如下所示。
/* Enable the external interrupt. */
/* Enable not required when used with ELC or DMAC. */
err = R_ICU_ExternalIrqEnable(&g_icu_ctrl);
assert(FSP_SUCCESS == err);
EXIT代碼
#include "hal_data.h"
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER
bsp_io_level_t level = BSP_IO_LEVEL_LOW;
/* Callback function */
void exit1_callback(external_irq_callback_args_t *p_args)
{
/* TODO: add your own code here */
(void) p_args;
if(level)
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);
else
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
level=~ level;
}
void hal_entry(void)
{
/* TODO: add your own code here */
/* Configure the external interrupt. */
fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_irq1_ctrl, &g_external_irq1_cfg);
assert(FSP_SUCCESS == err);
/* Enable the external interrupt. */
/* Enable not required when used with ELC or DMAC. */
err = R_ICU_ExternalIrqEnable(&g_external_irq1_ctrl);
assert(FSP_SUCCESS == err);
while(1)
{
R_BSP_SoftwareDelay(10, BSP_DELAY_UNITS_MILLISECONDS); // NOLINT100->160
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
最后
以上的代碼會(huì)在Q_QUN里分享。Q_QUN:615061293。 或者關(guān)注『記帖』,持續(xù)更新文章和學(xué)習(xí)資料!
結(jié)果演示
黃色為按鍵波形,紅色為L(zhǎng)ED輸出波形。
Falling(下降沿)
Rising(上升沿)
Both Edges(雙邊)
Low Level(低電平)
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6058文章
44821瀏覽量
644701 -
瑞薩
+關(guān)注
關(guān)注
36文章
22356瀏覽量
87579 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5389瀏覽量
100889
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
瑞薩e2studio(1)----瑞薩芯片之搭建FSP環(huán)境
使用e2studio顯示對(duì)瑞薩單片機(jī)進(jìn)行GPIO輸出的過(guò)程步驟是什么?
如何使用e2studio對(duì)瑞薩單片機(jī)進(jìn)行EXIT檢測(cè)配置以按鍵形式以及燈的亮滅形式進(jìn)行演示?
瑞薩e2studio(6)----EXIT

評(píng)論