作者 | strongerHuang
微信公眾號(hào) | strongerHuang
一些小伙伴覺得單片機(jī)入門太難了,又要懂原理圖、又要懂寄存器、還要學(xué)編程語言......
其實(shí),現(xiàn)在入門比我們之前學(xué)習(xí)單片機(jī)要簡(jiǎn)單多了,我們那會(huì)兒網(wǎng)絡(luò)還不這么發(fā)達(dá),網(wǎng)上教程幾乎很少,再次,就是現(xiàn)在各種配置工具,只需要?jiǎng)觿?dòng)鼠標(biāo)就能創(chuàng)建工程,隨便寫兩段代碼,就能讓單片機(jī)跑起來了。
即便是現(xiàn)在單片機(jī)寄存器越來越多、功能模塊也越來越多,但現(xiàn)在工具越來越強(qiáng)了啊,不用你一步一步移植代碼了。
這里結(jié)合瑞薩e2 studio工具,以及RA8D1單片機(jī),配置一個(gè)按鍵中斷給大家看看,你會(huì)發(fā)現(xiàn)其實(shí)很簡(jiǎn)單。
準(zhǔn)備工作
開發(fā)RA8D1單片機(jī)需要提前安裝好軟件工具,還有準(zhǔn)備好RA8板卡以及下載調(diào)試器。
1、下載安裝集成開發(fā)環(huán)境
開發(fā)瑞薩RA8系列單片機(jī)的工具有很多,常見的主要是:
e2 studio一站式服務(wù)工具
RASC + Keil,或RASC + IAR
推薦大家使用瑞薩官網(wǎng)的 e2 studio 一站式服務(wù)工具。
2、準(zhǔn)備硬件板卡
本教程就使用瑞薩CPKCOR_RA8D1B評(píng)估板,這塊板卡集成了J-link,我們只需要用一根線連接電腦即可下載調(diào)試。
e2s配置按鍵中斷
e2 studio可以理解為包含單片機(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)單?
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44961瀏覽量
648802 -
寄存器
+關(guān)注
關(guān)注
31文章
5430瀏覽量
123926 -
瑞薩
+關(guān)注
關(guān)注
36文章
22376瀏覽量
87888 -
中斷
+關(guān)注
關(guān)注
5文章
905瀏覽量
42626
原文標(biāo)題:?jiǎn)纹瑱C(jī)中斷這樣配置,是不更簡(jiǎn)單?
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)中斷優(yōu)先級(jí)應(yīng)用案例

單片機(jī)教程十七:單片機(jī)的中斷系統(tǒng)

單片機(jī)中斷系統(tǒng)介紹_51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)

51單片機(jī)中斷用法實(shí)例解析

使用51單片機(jī)外部中斷按鍵控制LED閃爍的程序免費(fèi)下載

單片機(jī)--中斷系統(tǒng)實(shí)驗(yàn)

單片機(jī)按鍵使用程序 (51單片機(jī))

51單片機(jī)按鍵檢測(cè)--獨(dú)立按鍵與矩陣鍵盤

【51MCU】51單片機(jī)定時(shí)器中斷寫MIDI音樂(按鍵可切換音樂)

PIC單片機(jī) 按鍵檢測(cè)識(shí)別

STM32單片機(jī)外部中斷配置講解

瑞薩單片機(jī)之外部中斷實(shí)現(xiàn)按鍵的長(zhǎng)按與短按(二)

評(píng)論