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

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

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

3天內不再提示

STM32GPIO外部中斷的詳細解析和總結

5RJg_mcuworld ? 2017-12-18 16:38 ? 次閱讀

1

STM32中斷分組

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

線 0~15:對應外部 IO 口的輸入中斷。

線 16:連接到 PVD 輸出。

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

線 18:連接到 USB 喚醒事件。
STM32GPIO外部中斷的詳細解析和總結

2

外部中斷的配置過程

1.配置觸發源GPIO口

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

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

b.GPIO_Mode_IN_FLOATING ,浮空輸入

c.GPIO_Mode_IPD ,帶下拉輸入

d.GPIO_Mode_IPU ,帶上拉輸入

GPIO_InitTypeDef GPIO_InitStructure;//定義結構體

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

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

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//設置成上拉輸入

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

2.使能AFIO復用時鐘功能

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

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

GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2);

4.中斷線上進行中斷初始化

EXTI_InitTypeDef EXTI_InitStructure;//定義初始化結構體

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;//觸發方式,可以是下降沿觸發 EXTI_Trigger_Falling,上升沿觸發 EXTI_Trigger_Rising,或者任意電平(上升沿和下降沿)觸發EXTI_Trigger_Rising_Falling

EXTI_InitStructure.EXTI_LineCmd = ENABLE;

EXTI_Init(&EXTI_InitStructure);//根據結構體信息進行初始化

5.中斷優先級配置

NVIC_InitTypeDef NVIC_InitStructure;//定義結構體

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

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //搶占優先級 2,

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //子優先級 2

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

NVIC_Init(&NVIC_InitStructure); //根據結構體信息進行優先級初始化

6.外部中斷服務函數的編寫

外部中斷函數分別為:

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 每個中斷線對應一個中斷函數,中斷線 5-9 共用中斷函數 ,EXTI9_5_IRQHandler,中斷線 10-15 共用中斷函數 EXTI15_10_IRQHandler。

void EXTI2_IRQHandler(void)

{

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

{

中斷邏輯…

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

}

}

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

void EXTI2_IRQHandler(void)

{

delay_ms(10);//延時消抖

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

{

LED0=!LED0;

}

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

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

}

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10895

    瀏覽量

    355743
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52055

原文標題:STM32GPIO外部中斷總結

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 GPIO外部中斷設計

    在之前針對STM32GPIO相關API函數及配置使用進行了詳細的介紹,GPIO作為輸入引腳時,調用相關讀信號引腳函數接口就可以在程序的循環中,輪詢的對輸入信號進行讀取檢測操作,除了輪
    發表于 04-14 10:51 ?2085次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>設計

    STM32GPIO外部中斷總結

    1STM32中斷分組STM32 的每一個GPIO都能配置成一個外部中斷觸發源,這點也是
    發表于 04-27 18:09

    詳細解析STM32外部中斷

    說明:本文旨在詳細解析STM32外部中斷,以實現按鍵觸發外部
    發表于 08-13 07:50

    STM32 GPIO外部中斷總結

    STM32 GPIO外部中斷總結一、STM32中斷
    發表于 08-16 07:37

    STM32 GPIO外部中斷的設置

    STM32GPIO外部中斷的設置1.中斷的分組STM32 的每一個GPIO都能配置成一個
    發表于 01-13 07:26

    stm32f103中斷總結詳細

    stm32f103中斷總結詳細
    發表于 11-24 17:06 ?28次下載
    <b class='flag-5'>stm32</b>f103<b class='flag-5'>中斷</b><b class='flag-5'>總結</b>很<b class='flag-5'>詳細</b>

    stm32外部中斷系列

    實現步驟1.如果串口中斷先配置串口,gpio中斷先配置gpio2.串口中斷組的選擇3.串口外部
    發表于 11-26 12:36 ?2次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>系列

    stm32 GPIO使用總結

    stm32 GPIO使用總結
    發表于 12-01 11:21 ?8次下載
    <b class='flag-5'>stm32</b> <b class='flag-5'>GPIO</b>使用<b class='flag-5'>總結</b>

    STM32CubeMX_環境搭建_GPIO_外部中斷

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

    STM32f429外部中斷配置解析基于HAL庫

    STM32f429外部中斷配置解析基于HAL庫
    發表于 12-16 16:58 ?10次下載
    <b class='flag-5'>STM32</b>f429<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>配置<b class='flag-5'>解析</b>基于HAL庫

    STM32基本GPIO操作:按鍵輸入(掃描+外部中斷

    STM32基本GPIO操作:按鍵輸入(掃描+外部中斷)本文章向大家介紹STM32基本GPIO操作
    發表于 12-29 19:27 ?13次下載
    <b class='flag-5'>STM32</b>基本<b class='flag-5'>GPIO</b>操作:按鍵輸入(掃描+<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>)

    使用LL庫開發STM32GPIO口與外部中斷

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

    STM32---外部中斷

    目錄1.外部中斷描述2.外部中斷框圖總結:經過分析框圖,可以產生軟件中斷和事件
    發表于 01-14 15:25 ?7次下載
    <b class='flag-5'>STM32</b>---<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32的IO外部中斷EXTI的使用

    一、前言 在之前針對STM32GPIO相關API函數及配置使用進行了詳細的介紹,GPIO作為輸入引腳時,調用相關讀信號引腳函數接口就可以在程序的循環中,輪詢的對輸入信號進行讀取檢測操
    的頭像 發表于 06-22 10:21 ?2031次閱讀
    <b class='flag-5'>STM32</b>的IO<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>EXTI的使用

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

    STM32如何配置外部中斷STM32外部中斷配置步驟? 作為一款現代化的微控制器,
    的頭像 發表于 10-26 17:47 ?3532次閱讀
    主站蜘蛛池模板: 亚洲综合免费视频| 99re久久热在线视频| wwww69| 熟女人妻水多爽中文字幕| 亚洲精品国产SUV| 99re5.久久热在线视频| 国产精品久久久久a影院| 久久精品一区| 色色色999| 中文字幕a有搜索网站| 国产产一区二区三区久久毛片国语| 精品国产国偷自产在线观看| 欧美亚洲精品一区二三区8V| 亚洲国产高清视频在线观看| 99精品电影| 好男人在线观看免费视频WWW| 男人吃奶摸下弄进去好爽| 亚洲1区2区3区精华液| a级精品九九九大片免费看| 国内精品久久久久久久试看 | 在线中文字幕网站| 国产传媒18精品A片在线观看| 伦理片在线线手机版韩国免费观看| 午夜欧洲亚洲AV永久无码精品| 97国产成人精品视频| 国产亚洲欧美在线观看三区| 热久久免费频精品99热 | 一本道高清无码v| 国产 亚洲 日韩 欧美 在线观看| 乱精品一区字幕二区| 亚洲高清无在码在线电影| 成3d漫二区三区四区| 狂躁美女BBBBBB视频| 亚洲国产在线2o20| 俄罗斯孩交精品| 欧美成人中文字幕在线看| 伊人免费在线| 国内精品乱码卡一卡2卡三卡新区| 日本护士性生活| 97视频免费观看| 久久免费资源福利资源站|