吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機按鍵中斷配置教程

strongerHuang ? 來源:strongerHuang ? 2024-10-23 16:30 ? 次閱讀

作者 | strongerHuang

微信公眾號 | strongerHuang

一些小伙伴覺得單片機入門太難了,又要懂原理圖、又要懂寄存器、還要學編程語言......

其實,現在入門比我們之前學習單片機要簡單多了,我們那會兒網絡還不這么發達,網上教程幾乎很少,再次,就是現在各種配置工具,只需要動動鼠標就能創建工程,隨便寫兩段代碼,就能讓單片機跑起來了。

即便是現在單片機寄存器越來越多、功能模塊也越來越多,但現在工具越來越強了啊,不用你一步一步移植代碼了。

這里結合瑞薩e2 studio工具,以及RA8D1單片機,配置一個按鍵中斷給大家看看,你會發現其實很簡單。

準備工作

開發RA8D1單片機需要提前安裝好軟件工具,還有準備好RA8板卡以及下載調試器。

1、下載安裝集成開發環境

開發瑞薩RA8系列單片機的工具有很多,常見的主要是:

e2 studio一站式服務工具

RASC + Keil,或RASC + IAR

推薦大家使用瑞薩官網的 e2 studio 一站式服務工具。

2、準備硬件板卡

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

e2s配置按鍵中斷

e2 studio可以理解為包含單片機底層配置工具、編輯器、編譯器、調試器等多種功能為一體的一站式服務工具,和其他一些MCU廠商的“可視化配置工具”類似,只需要動動鼠標,就能快速創建瑞薩單片機軟件工程。

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

1、基于e2s快速創建軟件工程模板

打開e2s,文件 -> 新建 -> 瑞薩C/C++項目 -> Renesas RA:

wKgaoWcYtEWAGC_4AAFcz71tq2I678.png

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

wKgZoWcYtEWAfSLpAAEeVDxHqAw079.png

選擇單片機型號,比如R7FA8D1BHEC:

wKgaoWcYtEWAOKp4AAHj6By3g8c440.png

選擇Non-TrustZone項目工程:

wKgZoWcYtEWABxdSAANf-GsJlQY999.png

選擇Executable:

wKgZoWcYtEWAb9DlAAFnOGdk5Wg618.png

選擇【Bare Metal-Minimal】,然后點擊完成,一個項目模板就創建好了。

wKgaoWcYtEWAcr6bAAFmmzBEOFU955.png

2、配置LED+KEY中斷

在【Pins】選項欄,選中LED引腳,我們這里PA01,配置為輸出模式。

wKgZoWcYtEWAHnkWAAJuURnolkw234.png

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

wKgaoWcYtEWAfj_YAAJQcRwkkHY791.png

在【Stacks】選項欄,新增一個Stack ->Input -> External lRQ:

wKgZoWcYtEWAM8dTAAItvymJF-U790.png

然后,設置對應屬性:

wKgaoWcYtEWAJ38uAAINiAHpbZk125.png

3、添加代碼實現按鍵中斷功能

這里,我們只需要在自帶的hal_entry.c源文件下添加少許代碼,即可實現按鍵中斷:按鍵KEY按下,LED翻轉

wKgZoWcYtEWAZjZJAALs9_zH9gk808.png

#include "hal_data.h"


FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER


/* 定義LED翻轉 */
#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
}


/* 按鍵中斷回調函數 */
void key_external_irq_callback(external_irq_callback_args_t *p_args)
{
    /* 判斷中斷通道 */
    if (12 == p_args->channel)
    {
        LED_TOGGLE;   // 按鍵KEY按下,LED翻轉
    }
}
實現效果: 最后,這樣配置,是不是相對以前那種一步一步移植代碼更簡單?
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638518
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121155
  • 瑞薩
    +關注

    關注

    35

    文章

    22310

    瀏覽量

    86738
  • 中斷
    +關注

    關注

    5

    文章

    900

    瀏覽量

    41746

原文標題:單片機中斷這樣配置,是不更簡單?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機中斷優先級應用案例

    單片機同時接收到幾個中斷請求時,單片機中斷請求的響應順序是如何確定的?實際上,單片機是通過中斷
    發表于 10-31 14:42 ?1932次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>優先級應用案例

    單片機教程十七:單片機中斷系統

    單片機教程十七:單片機中斷系統 單片機中斷系統的概念:什么是中斷,我們從一個生活中的例程引入
    發表于 05-15 23:11 ?5020次閱讀
    <b class='flag-5'>單片機</b>教程十七:<b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>系統

    單片機中斷系統介紹_51單片機中斷系統結構

    單片機中斷就是當單片機正在執行程序的時候,突然某個按鍵按下了(產生外部中斷),單片機就必須得去處
    發表于 01-10 17:29 ?1.2w次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>系統介紹_51<b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>系統結構

    單片機外部中斷程序下載

    單片機外部中斷程序和電路圖,通過按鍵控制計數和清零操作
    發表于 05-21 10:57 ?0次下載
    <b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b>程序下載

    51單片機中斷用法實例解析

    51單片機的外部中斷0引腳接一只按鍵,該按鍵通過上拉電阻接到電源,即沒有按鍵發生時單片機檢測到的
    發表于 12-12 15:31 ?2.5w次閱讀
    51<b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>用法實例解析

    使用51單片機外部中斷按鍵控制LED閃爍的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機外部中斷按鍵控制LED閃爍的程序免費下載。
    發表于 07-05 17:41 ?27次下載
    使用51<b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b><b class='flag-5'>按鍵</b>控制LED閃爍的程序免費下載

    單片機--中斷系統實驗

    實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機中斷系統的理解。任務:利用單片機中斷系統完成程序設計。 實驗內容使用A
    發表于 11-05 13:20 ?11次下載
    <b class='flag-5'>單片機</b>--<b class='flag-5'>中斷</b>系統實驗

    單片機按鍵使用程序 (51單片機

    單片機獨立按鍵使用程序 (51單片機)獨立按鍵單片機中很重要的一個器件,在這篇文章里,通過這個用獨立
    發表于 11-11 18:36 ?108次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>按鍵</b>使用程序 (51<b class='flag-5'>單片機</b>)

    51單片機按鍵檢測--獨立按鍵與矩陣鍵盤

    按鍵,每個按鍵對應一個IO口,通過循環或者中斷去檢測,這種方法常用于按鍵個數較少得時候。如果按鍵的個數較多,每個
    發表于 11-12 11:06 ?15次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>按鍵</b>檢測--獨立<b class='flag-5'>按鍵</b>與矩陣鍵盤

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

    51單片機定時器中斷寫MIDI音樂(按鍵可切換)
    發表于 11-12 13:36 ?21次下載
    【51MCU】51<b class='flag-5'>單片機</b>定時器<b class='flag-5'>中斷</b>寫MIDI音樂(<b class='flag-5'>按鍵</b>可切換音樂)

    PIC單片機 按鍵檢測識別

    目錄按鍵和PIC單片機一、按鍵二、按鍵的物理連接與檢測三、PIC16F18854單片機按鍵檢測及
    發表于 11-16 12:36 ?12次下載
    PIC<b class='flag-5'>單片機</b> <b class='flag-5'>按鍵</b>檢測識別

    STM32單片機外部中斷配置講解

    STM32單片機外部中斷配置講解01單片機外部中斷簡介所謂外部中斷,就是通過外部信號所引起的
    發表于 11-22 12:36 ?14次下載
    STM32<b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b><b class='flag-5'>配置</b>講解

    瑞薩單片機之外部中斷實現按鍵的長按與短按(二)

    瑞薩單片機通過外部中斷實現按鍵的長按與短按
    發表于 11-22 14:21 ?20次下載
    瑞薩<b class='flag-5'>單片機</b>之外部<b class='flag-5'>中斷</b>實現<b class='flag-5'>按鍵</b>的長按與短按(二)

    STM32單片機外部中斷簡介 STM32單片機外部中斷配置過程

    STM32 單片機是一款高性能、低功耗的 32 位微控制器,具有強大的計算能力、靈活的外設模塊以及優秀的擴展性,開發周期短、成本低。在單片機應用中,外部中斷是一種重要的硬件觸發方式,本文將對 STM32
    發表于 08-15 18:21 ?3201次閱讀

    單片機用按鈕中斷函數

    單片機用按鈕中斷函數? 單片機中斷是一種能夠使單片機響應外部信號的機制,這種機制允許單片機在處理
    的頭像 發表于 09-01 10:17 ?1611次閱讀
    百家乐官网路单用处| 青鹏棋牌游戏大厅v3.0| 大发888娱乐城六合彩| bet365金融技巧| 白凤凰博彩通| 大发888 dafa888游戏| bet365吧| 百家乐技巧| 百家乐官网庄闲机率分析| 百家乐官网微乐| 澳门百家乐官网破解方法| 现场百家乐官网电话投注| 联众百家乐官网的玩法技巧和规则 | 大发888大家赢娱乐| 百家乐筹码| 百家乐官网群html| 百家乐不倒翁注码| 太阳城娱乐网88| 永发国际娱乐城| 蓝盾百家乐官网具体玩法技巧| 百家乐太阳城小郭| 大发888真钱游戏注册| 廉江市| 新锦江百家乐官网的玩法技巧和规则 | 洪湖市| 百家乐官网号破| 百家乐园能贷款吗| 奔驰百家乐官网游戏| 金锁玉关24山砂水断| 逍遥坊百家乐的玩法技巧和规则 | 破解百家乐真人游戏| 皇冠网游戏小说| 百家乐官网智能投注系统| 太阳城百家乐外挂| 大发888游戏平台dafa 888 gw | 百家乐博乐36bol在线| 六合彩图片| 十三张百家乐官网的玩法技巧和规则 | 百家乐官网路单统| 大发888bet亚洲| 金盈会百家乐官网现金网|