1.外部中斷
1.概念:
<1>:當某種事件發生時,CPU自動停止所干的事 從而去臨時處理突發事件
<2>:對于Stm32F103rc而言,一共有60個可屏蔽中斷(外部中斷),16個內核中斷
2.設置方法:
<1>:初始化相關的IO口
<2>:開啟復用時鐘,設置IO口和中斷線的映射關系
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中斷,需要使能AFIO時鐘
<3>開啟與該IO口想對的線上中斷和設置觸發條件
庫函數:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5);
EXTI_InitStructure.EXTI_Line=EXTI_Line5;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿觸發
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //根據EXTI_InitStruct中指定的參數初始化外設EXTI寄存器
寄存器:
EX_NVIC_Config(GPIO_C,5,FTIR);
<4>:配置NVIC,使能中斷
庫函數:
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //使能按鍵所在的外部中斷通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //搶占優先級2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //子優先級1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道
NVIC_Init(&NVIC_InitStructure); //根據NVIC_InitStruct中指定的參數初始化外設NVIC寄存器
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置分組情況 一般放在主函數里
寄存器:
MY_NVIC_Init(2,2,EXTI0_IRQn,2)
<5>:設置中斷服務函數(庫函數寄存器一致)
oid EXTI0_IRQHandler(void)
{
delay_ms(10); //消抖
if(WK_UP==1)
{
LED0=!LED0;
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line0); //清除EXTI0線路掛起位
//EXTI->PR=1<<5;
}
注:
NVIC中包括配置搶占優先級和響應優先級,一般而言,高搶占打斷低搶占,高響應不能打斷低響應,響應越高先執行(Stm32F1系列 一共可以設置0-4級響應 0為最高,4最低)
上一篇:STM32 SPI筆記(基于寄存器)
下一篇:STM32學習筆記-SPI通訊
推薦閱讀
史海拾趣
早在2007年,Cooper Industries就展現出其全球擴張的雄心。同年10月8日,該公司與寧波知名企業耐吉科技股份有限公司共同注資3000萬美元,成立了庫柏耐吉(寧波)電氣有限公司。這一合資公司的成立,不僅加強了Cooper在中國市場的地位,也為其全球業務布局增添了重要一環。庫柏耐吉(寧波)電氣有限公司地處浙江省慈溪市,工業園占地400余畝,位于世界最長跨海大橋——杭州灣跨海大橋的南岸橋頭堡區域,其優越的地理位置為公司的發展提供了有力支持。
面對全球環保意識的日益增強,Alpha (Taiwan)公司積極響應號召,致力于綠色電子產品的研發和生產。公司投入大量資金研發環保材料和技術,成功推出了一系列綠色環保電子產品。這些產品不僅具有優異的性能,而且在使用過程中對環境的影響較小,符合現代社會的環保理念。此外,公司還積極參與環保公益活動,宣傳環保知識,推動電子行業的綠色發展。
隨著全球化進程的加速推進,Apx-Crystal公司意識到拓展國際市場的重要性。公司制定了詳細的國際化戰略,通過參加國際展覽、設立海外分支機構、與當地企業建立戰略合作關系等方式,積極開拓海外市場。憑借優質的產品和服務,Apx-Crystal逐漸贏得了國際客戶的信任和認可,產品遠銷歐美、亞太等多個地區,實現了從國內市場向國際市場的跨越式發展。
格瑞寶公司成立于2014年8月,總部選址于上海張江高科園,這里是中國科技創新的重要基地之一。公司從創立之初就明確了以自主研發、銷售服務為主體的半導體公司發展路徑。這一決策不僅為格瑞寶提供了豐富的科技資源和人才支持,也為其后續快速發展奠定了堅實基礎。在總部的帶領下,格瑞寶逐步建立起完善的產品研發、設計、測試和銷售體系。
FCS是由PLC發展而來的;而在另一些行業,FCS又是由DCS發展而來的,所以FCS與PLC及DCS之間有著千絲萬縷的聯系,又存在著本質的差異。本文試就PLC、DCS、FCS三大控制系統的特點和差異作一分析,指出它們之間的淵源及發展方向。 摘 要: ...… 查看全部問答∨ |
移植一段代碼時候用到了StdString.h<http://www.codeproject.com/KB/string/stdstring.aspx?msg=987184> 其中用到了 locale頭文件。 wince不支持stl的locale,應該是提供了它自己的方法,但苦于小弟剛學C++和WinCe,搜索兩天時間還未找 到結 ...… 查看全部問答∨ |
本人在做一個硬件項目的軟件方面的東西,現在遇到一個問題,請求解決。 是一個主板連接一個MCU,由MCU控制內存的電壓調節或超頻從而測試內存的性能。 現在要在DOS下,使用MCU去超頻。假如死機,利用superIO的watchdog功能,發出一個信號告訴MCU, ...… 查看全部問答∨ |
|
在mips32中是這樣實現的: #define rdtscl(dest)\\ __asm__ __volatile__("mfc0 %0, $9; nop":"=r"(dest)); 但是我發現$9是一個32位的寄存器,那如何實現64位上電時間呢? 下面是一些其他 ...… 查看全部問答∨ |
Q1:Cortex-M0是什么?A:它是ARM公司為了占領單片機市場而推出的一款極具競爭力的MCU,該處理器是現有的最小、能耗最低和能效最高的 ARM 處理器。該處理器硅面積極小、能耗極低并且所需的代碼量極少,這使得開發人員能夠以 8 位的設備實現 32 位設備 ...… 查看全部問答∨ |
提問:冬季轎車起動不著常見的原因及解決辦法? 回答:造成這種情況有幾種原因,電瓶虧電、汽油流動受阻、點火系統工作狀態不好、氣門結膠、排氣管結凍等。 電瓶虧電———其表現特點是起動機開始轉但轉速不夠即無力,后來起動機只咔 ...… 查看全部問答∨ |
我想請教一下,芯片CDCM7005為什么要與一個參考時鐘同步,才能輸出低抖動時鐘呢? 我只是想用該芯片將一路時鐘驅動為4路時鐘而已,但不知道參考時鐘應該怎么選擇?標準是什么呢?謝謝… 查看全部問答∨ |
今天下午在下程序的時候不小心點了那個固件升級的提示,結果自動升級,過了一會兒之后提示說錯誤,之后再連接調試器和電腦,調試器的燈就不亮了,IAR程序中也找不到可以下載的地方了,這是為什么啊?重啟過電腦,重裝過驅動,都不行,請高手指點啊 ...… 查看全部問答∨ |
關于用JLINK調試博創UP-TECH2410板子目標板自動重啟的問題的解決方法 問題是這樣的大概一個月前,我在IAR6.1上建了一個S3C2410的工程,我這邊有兩種板子,一塊優龍FS2410板子,兩塊博創UP-TECH2410的板子,對應的也有兩種調試器,優龍的使用的是DragonJtag,一端跟電腦的并口相連接,一端連接板子的JTAG接口,優龍的板 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 報名直播贏【手環、攝像頭、雨傘、手機支架】羅德與施瓦茨USB 3.2一致性測試
- 模擬世界的最重要構成——信號鏈與電源
- 分享你遇到的那些bug和解決技巧,贏萬圣節小驚喜!
- RIGOL那些年我們用過的儀器出爐,趕緊為你喜歡的作品投票吧!
- 推薦有禮,分享有你!DSP學習季開學了,推薦你最喜歡的TI DSP資料!
- TE戶外照明互連解決方案樣片來襲 免費申領進行中!
- 觀看TI IOT解決方案研討會 答題即可贏取更多精美好禮!
- 【答題有禮】了解PI推出的全新LinkSwitch-XT2離線反激式開關電源IC產品系列
- 直播已結束【解鎖 TI Sitara AM2x MCU 在電機驅動中的新可能】
- TE Connectivity利用傳感和連接解決方案,賦能電動汽車發展 參與有好禮!