娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月21日(星期一)

正在發生

2018年10月21日 | STM32學習之:外部中斷

發布者:huanguu 來源: eefocus關鍵字:STM32  外部中斷 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32 GPIO外部中斷總結

一、STM32中斷分組:


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

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

GPIO引腳中斷標志位中斷處理函數
PA0~PG0EXTI0EXTI0_IRQHandler
PA1~PG1EXTI1EXTI1_IRQHandler
PA2~PG2EXTI2EXTI2_IRQHandler
PA3~PG3EXTI3EXTI3_IRQHandler
PA4~PG4EXTI4EXTI4_IRQHandler
PA5~PG5EXTI5EXTI9_5_IRQHandler
PA6~PG6EXTI6
PA7~PG7EXTI7
PA8~PG8EXTI8
PA9~PG9EXTI9
PA10~PG10EXTI10EXTI15_10_IRQHandler
PA11~PG11EXTI11
PA12~PG12EXTI12
PA13~PG13EXTI13
PA14~PG14EXTI14
PA15~PG15EXTI15

 

 

 

 

 

 

 

 

 

 

 

 

 

 



線 16:連接到 PVD 輸出。


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


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


 


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


  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 上的中斷標志位

    }     

  }


 


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


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


  void EXTI2_IRQHandler(void)

  {

    delay_ms(10);//延時消抖

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

      {

        LED0=!LED0;

      }

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

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

  }


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


關鍵字:STM32  外部中斷 引用地址:STM32學習之:外部中斷

上一篇:STM32學習之:STM32F4XX的三大主體部分
下一篇:STM32學習之:FMC-擴展外部SDRAM

推薦閱讀

產品唯一的身份標識的作用: ● 用來作為序列號(例如USB字符序列號或者其他的終端應用); ● 用來作為密碼,在編寫閃存時,將此唯一標識與軟件加解密算法結合使用,提高代碼在閃存存儲器內的安全性; ● 用來激活帶安全機制的自舉過程; 96位的產品唯一身份標識所提供的參考號碼對任意一個STM32微控制器,在任何情況下都是唯一...
翻譯自——newelectronics,Neil TylerAutoSens是汽車傳感器和感知技術的會議,它將工程師和其他參與ADAS和自動駕駛市場的相關人員聯系起來。這一屆是在比利時布魯塞爾舉世聞名的AutoWorld博物館舉行,行業領導者齊聚一堂,研究并評估了ADAS的最新發展。到2025年,這個市場的價值預計將超過670億美元,這并不都是智能科技發展的功勞,而是因為創新水平的...
據外媒New Atlas報道,窗戶是很好的采光工具,但在夏季,這也帶來了不必要的熱量,導致許多人不得不開空調?,F在,研究人員已經開發出了可以在陽光加熱時自動改變顏色的窗戶,以保持建筑物的涼爽--最重要的是,它們也是太陽能電池板。 變色玻璃已經存在很長時間了,最常見的是作為眼鏡的過渡鏡片,在強光下自動調色。最近的發展已經使其電子化,可...
據日經亞洲評論報道,OPPO正在為其手機開發高端移動芯片,意在獲得對核心零部件的掌控權,并減少對國外半導體供應商的依賴。知情人士表示,預計OPPO會在2023年或2024年推出的手機中采用自研SoC,具體取決于研發速度,其計劃采用臺積電3nm生產工藝,是繼蘋果和英特爾之后的第二波采用該技術的臺積電客戶,這標志著OPPO致力于開發能夠與全球頂級半導體開發商...

史海拾趣

問答坊 | AI 解惑

pwm轉換成電壓的計算公式

請問各位:通過pwm轉換成電壓的硬件電路,取PWM波形的平均值作為輸出電壓的值,但是,如何計算出這個電壓值?好像是有一種算法,聽說過,請高人指點!…

查看全部問答∨

請各位高手指教,下面的電路能不能成立,不能成立的原因是什么?

電路是我自己畫的,個人分析如下,有不對的地方希望大家指正:謝謝~ 1》通電,12V經R1到Q1的C極,經R2加至Q1的B極,Q1飽和導通,C極等于0 此時Q2,Q3,Q4的B極全部為0 Q2為PNP管,此時是導通狀態,但對電路沒影響 2》按S1, ...…

查看全部問答∨

求基于DSP的實時信號處理設計實例

謝謝啦 要求 設計目的 需求分析 信號分析 信號處理定義 資源分析 配置分析 5部分 希望哪位哥哥姐姐能給予幫助啊,萬分感謝…

查看全部問答∨

The Data Conversion Handbook下載

絕對夠經典的教材。我從ADI官網下的,免費提供給大家~ 其實ADI官網也是免費 The Data Conversion Handbook, edited by Walt Kester (Newnes, 2005), is written for design engineers who routinely use data converters and related circuitr ...…

查看全部問答∨

絕對有用的單片機讀寫U盤開發資料

絕對有用用單芯片讀寫U盤方案設計資料  僅供分享和參考!…

查看全部問答∨

求幫助

不知道大家覺得電路與系統的這個專業怎么樣哈?還有就是你們覺得那個大學的研究生好些?…

查看全部問答∨

51單片機通過GPRS遠程升級的可能性?

現手上有一個項目,要用GPRS遠程升級,想請問一下是否有可行性。…

查看全部問答∨

pda 與遠程pc通信問題

小弟最近在做一個pda與pc 的通信問題,最終要解決的問題是將pda中一xml文件上傳給遠程pc服務器。 我現在做的測試就是用socket實現pda與pc間的簡單通信,代碼如下: pda端:                & ...…

查看全部問答∨

如何把應用程序的目錄結構編譯進wince映像中

例如,我有一個應用程序,其文件和目錄結構如下所示:         \\windows         |         |--ui             ...…

查看全部問答∨

請教一個LCD中斷的問題

我現在在LPC2478開發板下外部FLASH跑LCD程序,仿真放在中斷處,發現一個奇怪的問題。     如果進了中斷,LCD_INISTAT的bit[1]一直是1;     如果我在內部flash跑,LCD_INTSTAT的bit[1]就不為1,為0。     內部fl ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 台山市| 卓资县| 南康市| 鞍山市| 和田县| 永福县| 泗水县| 东兰县| 榕江县| 牡丹江市| 鲁甸县| 大邑县| 马边| 镇康县| 原平市| 德钦县| 武平县| 临汾市| 峨眉山市| 济阳县| 万全县| 正阳县| 平泉县| 宜都市| 文水县| 阿拉善盟| 土默特右旗| 阿拉尔市| 富顺县| 咸阳市| 慈利县| 博野县| 清丰县| 湛江市| 柳州市| 紫阳县| 灯塔市| 天长市| 永安市| 巴塘县| 错那县|