加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

單片機(jī)中斷這樣配置,是不更簡(jiǎn)單?

06/02 10:25
1562
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

微信公眾號(hào)?| strongerHuang

一些小伙伴覺(jué)得單片機(jī)入門(mén)太難了,又要懂原理圖、又要懂寄存器、還要學(xué)編程語(yǔ)言......

其實(shí),現(xiàn)在入門(mén)比我們之前學(xué)習(xí)單片機(jī)要簡(jiǎn)單多了,我們那會(huì)兒網(wǎng)絡(luò)還不這么發(fā)達(dá),網(wǎng)上教程幾乎很少,再次,就是現(xiàn)在各種配置工具,只需要?jiǎng)觿?dòng)鼠標(biāo)就能創(chuàng)建工程,隨便寫(xiě)兩段代碼,就能讓單片機(jī)跑起來(lái)了。

即便是現(xiàn)在單片機(jī)寄存器越來(lái)越多、功能模塊也越來(lái)越多,但現(xiàn)在工具越來(lái)越強(qiáng)了啊,不用你一步一步移植代碼了。

這里結(jié)合瑞薩e2 studio工具,以及RA8D1單片機(jī),配置一個(gè)按鍵中斷給大家看看,你會(huì)發(fā)現(xiàn)其實(shí)很簡(jiǎn)單。

準(zhǔn)備工作

開(kāi)發(fā)RA8D1單片機(jī)需要提前安裝好軟件工具,還有準(zhǔn)備好RA8板卡以及下載調(diào)試器。

1、下載安裝集成開(kāi)發(fā)環(huán)境

開(kāi)發(fā)瑞薩RA8系列單片機(jī)的工具有很多,常見(jiàn)的主要是:e2 studio一站式服務(wù)工具RASC + Keil,或RASC + IAR

推薦大家使用瑞薩官網(wǎng)的 e2 studio 一站式服務(wù)工具。

2、準(zhǔn)備硬件板卡

本教程就使用瑞薩CPKCOR_RA8D1B評(píng)估板,這塊板卡集成了J-link,我們只需要用一根線(xiàn)連接電腦即可下載調(diào)試。

e2s配置按鍵中斷

e2 studio可以理解為包含單片機(jī)底層配置工具、編輯器、編譯器、調(diào)試器等多種功能為一體的一站式服務(wù)工具,和其他一些MCU廠商的“可視化配置工具”類(lèi)似,只需要?jiǎng)觿?dòng)鼠標(biāo),就能快速創(chuàng)建瑞薩單片機(jī)軟件工程。

我們這里配置一個(gè)LED翻轉(zhuǎn)(亮滅)+一個(gè)按鍵(Key)中斷:按鍵按一次,LED翻轉(zhuǎn)一下。

1、基于e2s快速創(chuàng)建軟件工程模板

打開(kāi)e2s,文件 -> 新建?-> 瑞薩C/C++項(xiàng)目?-> Renesas RA:

輸入工程名稱(chēng),比如我們輸入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_HEADERvoid 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)單?

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
JST01TMAC1CY5GE2 1 Viavi Solutions Inc Transceiver,
暫無(wú)數(shù)據(jù) 查看
6N137-X007T 1 Vishay Intertechnologies Optocoupler Logic-Out Open Collector DC-IN 1-CH 8-Pin PDIP SMD T/R

ECAD模型

下載ECAD模型
$2.22 查看
TJA1055T/3/CM,118 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin

ECAD模型

下載ECAD模型
$1.95 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

作者黃工,從事嵌入式軟件開(kāi)發(fā)工作8年有余,高級(jí)嵌入式軟件工程師,業(yè)余維護(hù)公眾號(hào)『strongerHuang』,分享嵌入式軟硬件、單片機(jī)、物聯(lián)網(wǎng)等內(nèi)容。