當前位置:首頁 > 單片機 > 單片機
[導讀]一、STM32中斷分組:  STM32 的每一個GPIO都能配置成一個外部中斷觸發(fā)源,這點也是STM32的強大之處。STM32 通過根據引腳的序號不同將眾多中斷觸發(fā)源分成不同的組,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0為第一組

一、STM32中斷分組:

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

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

GPIO引腳中斷標志位中斷處理函數PA0~PG0EXTI0EXTI0_IRQHandlerPA1~PG1EXTI1EXTI1_IRQHandlerPA2~PG2EXTI2EXTI2_IRQHandlerPA3~PG3EXTI3EXTI3_IRQHandlerPA4~PG4EXTI4EXTI4_IRQHandlerPA5~PG5EXTI5EXTI9_5_IRQHandlerPA6~PG6EXTI6
PA7~PG7EXTI7
PA8~PG8EXTI8
PA9~PG9EXTI9
PA10~PG10EXTI10EXTI15_10_IRQHandlerPA11~PG11EXTI11
PA12~PG12EXTI12
PA13~PG13EXTI13
PA14~PG14EXTI14
PA15~PG15EXTI15









線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;//定義結構體


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


  EXTI_InitStructure.EXTI_LineCmd = ENABLE;


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


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



  NVIC_InitTypeDef NVIC_InitStructure;//定義結構體


  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); //根據結構體信息進行優(yōu)先級初始化



  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?!  ?/p>


  void EXTI2_IRQHandler(void)

  {

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


    {

      中斷邏輯…

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

    }

  }


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


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


  void EXTI2_IRQHandler(void)

  {

    delay_ms(10);//延時消抖

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

      {

        LED0=!LED0;

      }

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

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

  }


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


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉