色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CUBEMX(11)--外部中斷(EXTI)

嵌入式單片機(jī)MCU開(kāi)發(fā) ? 來(lái)源:嵌入式單片機(jī)MCU開(kāi)發(fā) ? 作者:嵌入式單片機(jī)MCU開(kāi) ? 2022-11-14 16:39 ? 次閱讀

概述

外部中斷和事件控制器 (EXTI) 管理外部和內(nèi)部異步事件 / 中斷,并生成相應(yīng)的事件請(qǐng)求到CPU/ 中斷控制器和到電源管理的喚醒請(qǐng)求。本例程主要講解如何使用外部中斷觸發(fā)LED。

硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是NUCLEO-F030R8的開(kāi)發(fā)板:

在這里插入圖片描述

選擇芯片型號(hào)

使用STM32CUBEMX選擇芯片stm32f030r8,如下所示:

在這里插入圖片描述

配置時(shí)鐘

HSE與LSE分別為外部高速時(shí)鐘和低速時(shí)鐘,在本文中使用內(nèi)置的時(shí)鐘源,故都選擇Disable選項(xiàng),如下所示:

在這里插入圖片描述

配置時(shí)鐘樹(shù)

STM32F0的最高主頻到48M,所以配置48即可:

在這里插入圖片描述

中斷口配置

開(kāi)發(fā)板上的PC13為藍(lán)色按鈕,故配置此端口為中斷口。

在這里插入圖片描述

在這里插入圖片描述

GPIO 口連接到 16 個(gè)外部中斷 / 事件線如下圖 。可以看到PC13應(yīng)該是在EXTI13上。

在這里插入圖片描述

外部中斷/事件控制器用于產(chǎn)生事件/中斷請(qǐng)求的邊沿檢測(cè)器。每根輸入線都可單獨(dú)進(jìn)行配置,以選擇類型(中斷或事件)和相應(yīng)的觸發(fā)事件(上升沿觸發(fā)、下降沿觸發(fā)或邊沿觸發(fā))。每根輸入線還可單獨(dú)屏蔽。掛起寄存器用于保持中斷請(qǐng)求的狀態(tài)線。

在這里插入圖片描述

所以需要配置中斷口是上升沿觸發(fā)或者下降沿觸發(fā)。

在這里插入圖片描述

查看向量表可以得知PC15應(yīng)該開(kāi)啟EXIT4到15的中斷。

在這里插入圖片描述

在這里插入圖片描述

GPIO配置

PA5為板上LED燈,配置PA5為輸出口,當(dāng)中斷發(fā)生時(shí)候改變IO口極性。

在這里插入圖片描述

在這里插入圖片描述

生成工程設(shè)置

注意在生產(chǎn)工程設(shè)置中不能出現(xiàn)中文,不然會(huì)報(bào)錯(cuò)。

在這里插入圖片描述

生成代碼

在這里插入圖片描述

配置keil

在這里插入圖片描述

設(shè)置IO口模式,觸發(fā)條件,設(shè)置 IO 口與中斷線的映射關(guān)系

首先在mian.c的MX_GPIO_Init中,GPIO_Initure.Mode=GPIO_MODE_IT_RISING,這里設(shè)置為上升沿觸發(fā)。Mode值為GPIO_MODE_IT_RISING(外部中斷上升沿觸發(fā)),GPIO_MODE_IT_FALLING(外部中斷下降沿觸發(fā))或者GPIO_MODE_IT_RISING_FALLING(外部中斷雙邊沿觸發(fā))。

GPIO_InitStruct.Pull=GPIO_NOPULL,這個(gè)為管腳懸空,沒(méi)有上下拉。

在這里插入圖片描述

配置中斷優(yōu)先級(jí)(NVIC),并使能中斷

同樣的,在mian.c的MX_GPIO_Init中,設(shè)置好中斷線和 GPIO 映射關(guān)系,然后又設(shè)置好了中斷的觸發(fā)模式等初始化參數(shù)。既然是外部中斷,涉及到中斷我們當(dāng)然還要設(shè)置 NVIC 中斷優(yōu)先級(jí)。

HAL_NVIC_SetPriority的中間0表示搶占優(yōu)先級(jí)為0,最右邊的0表示子優(yōu)先級(jí)為0。

  1. 搶占優(yōu)先級(jí)比子優(yōu)先級(jí)的優(yōu)先權(quán)更高,這意味搶占優(yōu)先級(jí)更高的中斷會(huì)先執(zhí)行,而不管子優(yōu)先級(jí)的優(yōu)先權(quán),數(shù)值越低優(yōu)先級(jí)越高。
  2. 同理,如果搶占優(yōu)先級(jí)相同,那么就會(huì)比較子優(yōu)先級(jí),子優(yōu)先級(jí)更高的中斷將會(huì)先被執(zhí)行,數(shù)值越低優(yōu)先級(jí)越高。
  3. 當(dāng)兩個(gè)中斷源的搶占式優(yōu)先級(jí)相同時(shí),這兩個(gè)中斷將沒(méi)有嵌套關(guān)系,當(dāng)一個(gè)中斷到來(lái)后,如果正在處理另一個(gè)中斷,這個(gè)后到來(lái)的中斷就要等到前一個(gè)中斷處理完之后才能被處理。如果這兩個(gè)中斷同時(shí)到達(dá),則中斷控制器根據(jù)他們的響應(yīng)優(yōu)先級(jí)高低來(lái)決定先處理哪一個(gè);如果他們的搶占式優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)都相等,則根據(jù)他們?cè)谥袛啾碇械呐盼豁樞驔Q定先處理哪一個(gè)。
    在這里插入圖片描述

中斷服務(wù)函數(shù)

配置完中斷優(yōu)先級(jí)之后,接著要做的就是編寫中斷服務(wù)函數(shù)。中斷服務(wù)函數(shù)的名字是在 HAL 庫(kù)中事先有定義的。STM32F0的IO口外部中斷函數(shù)只有3個(gè)。

在這里插入圖片描述

中斷線 0-1每個(gè)中斷線對(duì)應(yīng)一個(gè)中斷函數(shù),中斷線 2-3共用中斷函數(shù) ,中斷線 4-15 共用中斷函數(shù)。一般情況下,我們可以把中斷控制邏輯直接編寫在中斷服務(wù)函數(shù)中,但是 HAL 庫(kù)把中斷處理過(guò)程進(jìn)行了簡(jiǎn)單封裝。

EXTI4_15_IRQHandler

在stm32f0xx_it.c中,程序開(kāi)始執(zhí)行EXTI4_15_IRQHandler函數(shù),EXTI4_15_IRQHandler函數(shù)只是調(diào)用了另一個(gè)函數(shù)HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);

在這里插入圖片描述

HAL_GPIO_EXTI_Callback

在stm32f0xx_hal_gpio.c中,HAL_GPIO_EXTI_IRQHandler該函數(shù)實(shí)現(xiàn)的作用非常簡(jiǎn)單,就是清除中斷標(biāo)志位,然后調(diào)用回調(diào)函數(shù)HAL_GPIO_EXTI_Callback()實(shí)現(xiàn)控制邏輯。根據(jù)函數(shù)名Callback也能看出來(lái)這里才是真正執(zhí)行具體功能的函數(shù),該函數(shù)需要在mian.c文件中重寫,通過(guò)判斷中斷是來(lái)自哪個(gè)IO口編寫相應(yīng)的中斷服務(wù)控制邏輯。

在這里插入圖片描述

代碼

在main.c中,重寫HAL_GPIO_EXTI_Callback。

/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
    if(GPIO_Pin == GPIO_PIN_13){/* KEY */  
        /* 翻轉(zhuǎn)LED */
        HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
    } 
}
/* USER CODE END 4 */

演示效果

LED燈隨著按鍵按下改變極性。

在這里插入圖片描述

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 外部中斷
    +關(guān)注

    關(guān)注

    1

    文章

    132

    瀏覽量

    15934
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    286

    瀏覽量

    15370
  • EXTI
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    3754
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CubeMx外部中斷基本使用方法

    第一步:現(xiàn)在STM32CubeMx 中配置所需要IO口外部中斷模式。
    發(fā)表于 05-31 15:32 ?4533次閱讀
    <b class='flag-5'>STM32CubeMx</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>基本使用方法

    STM32CUBEMX(11)--外部中斷(EXTI)

    首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是NUCLEO-F030R8的開(kāi)發(fā)板: 選擇芯片型號(hào) 使用STM32CUBEMX選擇芯片stm32f030r8,如下所示: 配置時(shí)鐘源 HSE與LSE分別為外部
    發(fā)表于 09-10 15:44

    STM32CUBEMX的BUG:NVIC里找不到EXTI中斷

    建立STM32F373CCT6,把PA1設(shè)置為外部中斷,NVIC里找不到EXTI中斷,stm32cube
    發(fā)表于 12-07 08:51

    STM32CubeMx外部中斷基本使用方法

    `STM32CubeMx外部中斷基本使用方法第一步:現(xiàn)在STM32CubeMx 中配置所需要IO口外部
    發(fā)表于 01-14 10:02

    STM32CubeMx配置外部中斷簡(jiǎn)介

    for STM32F0 Series)本文內(nèi)容:STM32CubeMx 配置外部中斷外部中斷簡(jiǎn)
    發(fā)表于 08-13 08:07

    STM32CubeMX外部中斷的使用

    前言??今天我們來(lái)學(xué)習(xí)STM32CubeMX外部中斷的使用,實(shí)現(xiàn)按下KEY0 KEY1 KEY2中斷-->IO-->按鍵映射:??EXTI
    發(fā)表于 08-18 08:12

    基于STM32CubeMx外部中斷設(shè)計(jì)步驟

    功能(其中包括中斷源、搶占優(yōu)先級(jí)、響應(yīng)優(yōu)先級(jí)、中斷的使能與失能基于STM32CubeMx外部中斷設(shè)計(jì)步驟:在
    發(fā)表于 01-14 07:04

    STM32CubeMX配置

    一、STM32CubeMX配置(本文使用的STM32CubeMX版本為5.6.0)思路:使用外部中斷方式控制LED,當(dāng)按下不同的按鍵觸中斷
    發(fā)表于 02-11 06:44

    第二節(jié): 外部中斷學(xué)習(xí)(用CubeMX學(xué)習(xí)STM32)

    STM32CubeMX配置, 使用HAL庫(kù),學(xué)習(xí)STM32外部中斷,hal和CubeMX學(xué)習(xí)分享
    發(fā)表于 12-05 13:06 ?4次下載
    第二節(jié): <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>學(xué)習(xí)(用<b class='flag-5'>CubeMX</b>學(xué)習(xí)<b class='flag-5'>STM32</b>)

    CubeMX系列教程——4 外部中斷

    這篇文章將使用STM32CubeMX生成外部中斷初始代碼,并添加測(cè)試代碼。開(kāi)發(fā)板使用的是原子STM32F407開(kāi)發(fā)板。其電路原理圖如下:1、打開(kāi)軟件,選擇MCU,根據(jù)LED教程,配置時(shí)
    發(fā)表于 12-05 13:36 ?11次下載
    <b class='flag-5'>CubeMX</b>系列教程——4 <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32CubeMX學(xué)習(xí)筆記(3)——EXTI(外部中斷)接口使用

    一、新建工程1. 打開(kāi) STM32CubeMX 軟件,點(diǎn)擊“新建工程”2. 選擇 MCU 和封裝3. 配置時(shí)鐘RCC 設(shè)置,選擇 HSE(外部高速時(shí)鐘) 為 Crystal/Ceramic
    發(fā)表于 12-05 16:36 ?9次下載
    <b class='flag-5'>STM32CubeMX</b>學(xué)習(xí)筆記(3)——<b class='flag-5'>EXTI</b>(<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>)接口使用

    STM32CubeMX_UART_printf_接收中斷_DMA空閑中斷_LPUART

    文章目錄前言STM32CubeMX新建F767工程UART配置生成代碼串口發(fā)送printf支持串口接收中斷DMA空閑中斷工程代碼微信公眾號(hào)前言STM32CubeMX_環(huán)境搭建_GPIO
    發(fā)表于 12-06 18:36 ?6次下載
    <b class='flag-5'>STM32CubeMX</b>_UART_printf_接收<b class='flag-5'>中斷</b>_DMA空閑<b class='flag-5'>中斷</b>_LPUART

    STM32外部中斷控制器EXTI詳解

    什么是外部中斷控制器,外部中斷控制器在STM32芯片中處于什么位置,它的作用是什么,EXTI與G
    的頭像 發(fā)表于 04-20 11:44 ?2903次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>控制器<b class='flag-5'>EXTI</b>詳解

    STM32的IO外部中斷EXTI的使用

    的方式訪問(wèn)輸入引腳,還可以通過(guò)另外一種叫做外部中斷的方式來(lái)對(duì)引腳的輸入信號(hào)進(jìn)行檢測(cè),本篇首先介紹下EXTI的結(jié)構(gòu),接著介紹外部中斷的相關(guān)概念
    的頭像 發(fā)表于 06-22 10:21 ?2358次閱讀
    <b class='flag-5'>STM32</b>的IO<b class='flag-5'>外部</b><b class='flag-5'>中斷</b><b class='flag-5'>EXTI</b>的使用

    STM32CUBEMX開(kāi)發(fā)GD32F303(15)----外部中斷EXTI

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進(jìn)行開(kāi)發(fā),同時(shí)通過(guò)開(kāi)發(fā)板內(nèi)進(jìn)行驗(yàn)證。 使用外部中斷EXTI進(jìn)行驅(qū)
    的頭像 發(fā)表于 07-26 15:53 ?1508次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開(kāi)發(fā)GD32F303(15)----<b class='flag-5'>外部</b><b class='flag-5'>中斷</b><b class='flag-5'>EXTI</b>
    主站蜘蛛池模板: 麻豆乱码一卡二卡三卡视频 | 国产精品第八页 | 我年轻漂亮的继坶2中字在线播放 | 久久热在线视频精品店 | 亚洲精品视频区 | 国产亚洲视频中文字幕 | 免费毛片试看 | 国语自产视频在线不卡 | 成人五级毛片免费播放 | 亚洲午夜福利未满十八勿进 | 日本一区不卡在线播放视频免费 | 男男腐文污高干嗯啊快点1V1 | 欧美日韩中文在线字幕视频 | 台湾佬休闲中性娱乐网 | 高跟丝袜岳第一次 | 亚洲 欧美 另类 中文 在线 | 亚洲AV无码乱码国产精品品麻豆 | 巨胸美女狂喷奶水www网麻豆 | 久久精品观看 | caoporn超碰在线 | 欧洲精品不卡1卡2卡三卡四卡 | 国产又湿又黄又硬又刺激视频 | 成片免费观看视频大全 | 精品免费久久久久久影院 | 中文字幕亚洲视频 | 久草精品视频 | 在线少女漫画 | 国产亚洲高清视频 | 叔叔 电影完整版免费观看韩国 | 国产精品成人影院 | 泡妞高手在都市完整版视频免费 | 亚洲午夜精品A片久久WWW软件 | 国产欧美国产综合第一区 | 亚洲精品另类有吗中文字幕 | 蜜柚视频高清在线 | 跪趴式啪啪GIF动态图27报 | 最近中文字幕2019免费版日本 | 欧美成a人片免费看久久 | 天天综合网网欲色 | 一线高清视频在线播放 | yellow在线观看免费高清的日本 |