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

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

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

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

做單片機設(shè)計,STM32 GPIO外部中斷你必須知道

MCU開發(fā)加油站 ? 來源:未知 ? 作者:佚名 ? 2018-01-05 07:01 ? 次閱讀

一、STM32中斷分組:

STM32 的每一個GPIO都能配置成一個外部中斷觸發(fā)源,這點也是 STM32 的強大之處。STM32 通過根據(jù)引腳的序號不同將眾多中斷觸發(fā)源分成不同的組,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0為第一組,那么依此類推,我們能得出一共有16 組,STM32 規(guī)定,每一組中同時只能有一個中斷觸發(fā)源工作,那么,最多工作的也就是16個外部中斷。STM32F103 的中斷控制器支持 19 個外部中斷/事件請求。每個中斷設(shè)有狀態(tài)位,每個中斷/事件都有獨立的觸發(fā)和屏蔽設(shè)置。STM32F103 的19 個外部中斷為:

線 0~15:對應(yīng)外部 IO 口的輸入中斷。線 16:連接到 PVD 輸出。

線 17:連接到 RTC 鬧鐘事件。

線 18:連接到 USB 喚醒事件。

二:外部中斷的配置過程:

1、配置觸發(fā)源GPIO口:

因為GPIO口作為觸發(fā)源使用,所以將GPIO口配置成輸入模式,觸發(fā)模式有以下幾種:

a.GPIO_Mode_AIN ,模擬輸入(ADC模擬輸入,或者低功耗下省電)

b.GPIO_Mode_IN_FLOATING ,浮空輸入

c.GPIO_Mode_IPD ,帶下拉輸入

d.GPIO_Mode_IPU ,帶上拉輸入

GPIO_InitTypeDef GPIO_InitStructure;//定義結(jié)構(gòu)體

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能時鐘

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;//選擇IO口 PE2

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//設(shè)置成上拉輸入

GPIO_Init(GPIOE, &GPIO_InitStructure);//使用結(jié)構(gòu)體信息進行初始化IO口

2、使能AFIO復(fù)用時鐘功能:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

3、將GPIO口與中斷線映射起來:

GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2);

4、中斷線上進行中斷初始化:

EXTI_InitTypeDef EXTI_InitStructure;//定義初始化結(jié)構(gòu)體

EXTI_InitStructure.EXTI_Line=EXTI_Line2; //中斷線的標號 取值范圍為EXTI_Line0~EXTI_Line15

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//中斷模式,可選值為中斷 EXTI_Mode_Interrupt 和事件 EXTI_Mode_Event。

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//觸發(fā)方式,可以是下降沿觸發(fā) EXTI_Trigger_Falling,上升沿觸發(fā) EXTI_Trigger_Rising,或者任意電平(上升沿和下降沿)觸發(fā)EXTI_Trigger_Rising_Falling

EXTI_InitStructure.EXTI_LineCmd = ENABLE;

EXTI_Init(&EXTI_InitStructure);//根據(jù)結(jié)構(gòu)體信息進行初始化

5、中斷優(yōu)先級配置:

NVIC_InitTypeDef NVIC_InitStructure;//定義結(jié)構(gòu)體

NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; //使能外部中斷所在的通道

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //搶占優(yōu)先級 2,

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //子優(yōu)先級 2

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道

NVIC_Init(&NVIC_InitStructure); //根據(jù)結(jié)構(gòu)體信息進行優(yōu)先級初始化

6、外部中斷服務(wù)函數(shù)的編寫:

外部中斷函數(shù)分別為:

EXPORT EXTI0_IRQHandler

EXPORT EXTI1_IRQHandler

EXPOR T EXTI2_IRQHandler

EXPORT EXTI3_IRQHandler

EXPORT EXTI4_IRQHandler

EXPORT EXTI9_5_IRQHandler

EXPORT EXTI15_10_IRQHandler

中斷線 0-4 每個中斷線對應(yīng)一個中斷函數(shù),中斷線 5-9 共用中斷函數(shù) EXTI9_5_IRQHandler,中斷線 10-15 共用中斷函數(shù) EXTI15_10_IRQHandler。

void EXTI2_IRQHandler(void)

{

if(EXTI_GetITStatus(EXTI_Line2)!=RESET)//判斷某個線上的中斷是否發(fā)生

{

中斷邏輯…

EXTI_ClearITPendingBit(EXTI_Line2); //清除 LINE 上的中斷標志位

}

}

三、關(guān)于使用GPIO口接按鍵進行外部中斷的配置說明:

使用按鍵進行外部中斷的時候,一般都需要進行按鍵延時消抖以及松手檢測的相關(guān)處理,中斷函數(shù)可以參看以下代碼:

void EXTI2_IRQHandler(void)

{

delay_ms(10);//延時消抖

if(KEY2==0) //按鍵真的被按下

{

LED0=!LED0;

}

while(KEY2!=0);//等待松手

EXTI_ClearITPendingBit(EXTI_Line2); //清楚中斷標志位

}

當然,如果你的按鍵是允許長按功能的,那么就進行別的邏輯操作,這里不作研究。


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

    關(guān)注

    6035

    文章

    44553

    瀏覽量

    634750
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10896

    瀏覽量

    355771
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    898

    瀏覽量

    41474
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1204

    瀏覽量

    52060

原文標題:STM32 GPIO外部中斷總結(jié)

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32 GPIO外部中斷設(shè)計

    輸入引腳,還可以通過另外一種叫做外部中斷的方式來對引腳的輸入信號進行檢測,本篇首先介紹下EXTI的結(jié)構(gòu),接著介紹外部中斷的相關(guān)概念,對STM32
    發(fā)表于 04-14 10:51 ?2089次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>設(shè)計

    STM32單片機學(xué)習(xí)筆記(8):外部中斷

    利用CubMX生成基于32單片機的HAl庫工程,然后編寫程序在proteus上仿真驗證。本項目最適合沒有開發(fā)板的同學(xué)學(xué)習(xí),零成本利用仿真軟件率先入門STM32單片機。本項目需要實現(xiàn)的功能就是利用CubMX配置
    發(fā)表于 07-20 15:32 ?989次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>學(xué)習(xí)筆記(8):<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    關(guān)于ESP8266必須知道的事

    寫在前面之前博主學(xué)習(xí)了很多網(wǎng)絡(luò)編程的東西是因為工作上要開始“智能家居”、物聯(lián)網(wǎng)方面的東西了。下面主角要登場了。就是單片機。關(guān)于ESP8266必須知道的博主使用的是安信可的產(chǎn)品,12
    發(fā)表于 11-23 07:39

    GPIO輸出還能作外部中斷輸入嗎?

    我們這里要談的是基于硬件模式的外部中斷話題。當STM32GPIO作為輸出時,可能是通用GPIO輸出也可能是基于其它外設(shè)復(fù)用情況下的輸出,即
    的頭像 發(fā)表于 07-05 10:42 ?4708次閱讀
    <b class='flag-5'>GPIO</b><b class='flag-5'>做</b>輸出還能作<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>輸入嗎?

    STM32外部中斷解決方法

    INT0和INT1,INT0被分配在P3.2引腳,INT1被分配在P3.2引腳,也即是說如果使用51單片機外部中斷0,則必須將信號接在P3.2上,否則無效。 02 舉例說明什么是
    的頭像 發(fā)表于 10-20 17:43 ?9005次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>解決方法

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

    STM32單片機外部中斷配置講解01單片機外部中斷
    發(fā)表于 11-22 12:36 ?14次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>配置講解

    STM32單片機---外部中斷

    優(yōu)先級與響應(yīng)優(yōu)先級區(qū)別一、ARM Cortex-M3 的中斷體系1、定義中斷,意味著中途打斷現(xiàn)在干的事情,要立即處理緊急的事件。現(xiàn)實的例子:手機玩游戲的時候,突然來電話。在編程當中還常遇到實時接收數(shù)據(jù)的請求,都使用中斷服務(wù)函數(shù),
    發(fā)表于 11-23 17:51 ?6次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>---<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32CubeMX_環(huán)境搭建_GPIO_外部中斷

    STM32CubeMX_環(huán)境搭建_GPIO_外部中斷
    發(fā)表于 12-05 14:06 ?3次下載
    <b class='flag-5'>STM32</b>CubeMX_環(huán)境搭建_<b class='flag-5'>GPIO</b>_<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    使用CubMX和Proteus學(xué)習(xí)STM32單片機(八)------外部中斷

    項目簡介利用CubMX生成基于32單片機的HAl庫工程,然后編寫程序在proteus上仿真驗證。本項目最適合沒有開發(fā)板的同學(xué)學(xué)習(xí),零成本利用仿真軟件率先入門STM32單片機。本項目需要實現(xiàn)的功能就是
    發(fā)表于 12-05 15:21 ?4次下載
    使用CubMX和Proteus學(xué)習(xí)<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>(八)------<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32單片機GPIO口簡介

    本篇主要介紹STM32單片機GPIO口基本概念和GPIO 寄存器的使用參考資料【51/STM32】詳解
    發(fā)表于 12-28 19:23 ?23次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b>口簡介

    使用LL庫開發(fā)STM32GPIO口與外部中斷

    文章目錄目的輸出與控制輸入與端口值讀取外部中斷總結(jié)目的GPIO口使用是單片機開發(fā)中最簡單的一塊,STM32
    發(fā)表于 01-13 16:13 ?13次下載
    使用LL庫開發(fā)<b class='flag-5'>STM32</b>:<b class='flag-5'>GPIO</b>口與<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    基于STM32單片機外部中斷實驗使用庫文件設(shè)計源代碼

    基于STM32單片機外部中斷實驗使用庫文件設(shè)計源代碼
    發(fā)表于 04-26 14:35 ?1次下載

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

    STM32 單片機是一款高性能、低功耗的 32 位微控制器,具有強大的計算能力、靈活的外設(shè)模塊以及優(yōu)秀的擴展性,開發(fā)周期短、成本低。在單片機應(yīng)用中,外部
    發(fā)表于 08-15 18:21 ?3040次閱讀

    STM32如何配置外部中斷STM32外部中斷配置步驟

    STM32如何配置外部中斷STM32外部中斷配置步驟? 作為一款現(xiàn)代化的微控制器,
    的頭像 發(fā)表于 10-26 17:47 ?3536次閱讀

    電阻的秘密——必須知道的電阻參數(shù)

    電阻的秘密——必須知道的電阻參數(shù)
    的頭像 發(fā)表于 12-06 14:31 ?881次閱讀
    電阻的秘密——<b class='flag-5'>你</b><b class='flag-5'>必須知道</b>的電阻參數(shù)
    主站蜘蛛池模板: 俄罗斯xxxxxbbbbb| 中文字幕人成乱码中国| 美女扒开尿口让男生添动态图| 伸进同桌奶罩里摸她胸作文| 精品视频久久久久| 国内精品伊人久久久影院| 99视频在线观看免费| 70岁妇女牲交色牲片| 亚洲一区电影在线观看| 日本无码免费久久久精品 | 色窝窝亚洲AV在线观看| 久久综合给合久久狠狠狠…| 国产AV综合手机在线观看| 国产精品色午夜视频免费看| 国产亚洲国际精品福利| wwww晚晚干| 二色AV天堂在线| 亚洲国产货青视觉盛宴| 男人J桶女人P视频无遮挡网站| 亚洲AV电影天堂男人的天堂| 在线日本高清日本免费| 久久精品在现线观看免费15| WWW国产亚洲精品久久久日本| 日韩精品一卡二卡三卡四卡2021| 野花香在线观看免费高清播放视频 | 97欧美精品大香伊蕉在人线| 花蝴蝶在线观看中字| 久久午夜免费视频| 国产 亚洲 日韩 欧美 在线观看| 4484在线观看视频| 99精品国产福利在线观看| 91嫩草视频在线观看| 99视频偷窥在线精品国自产拍| 成人天堂资源WWW在线 | 国产亚洲精品久久久久久禁果TV| 国产精品亚洲精品久久国语| 国产精品资源在线观看网站| 红尘影院手机在线观看| 国产精品悠悠久久人妻精品| 国产免费麻传媒精品国产AV| 国产AV无码成人黄网站免费|