前言
STM32中斷非常強(qiáng)大,每個(gè)外設(shè)都可以產(chǎn)生中斷
提示:以下是本篇文章正文內(nèi)容
一、NVIC 簡(jiǎn)介
NVIC 是嵌套向量中斷控制器,控制著整個(gè)芯片中斷相關(guān)的功能,它跟內(nèi)核緊密耦合,是內(nèi)核里面的一個(gè)外設(shè)。
1.NVIC 寄存器簡(jiǎn)介
NVIC 結(jié)構(gòu)體定義,來(lái)自固件庫(kù)頭文件:core_cm3.h
在配置中斷的時(shí)候我們一般只用 ISER、ICER 和 IP 這三個(gè)寄存器,ISER 用來(lái)使能中斷,ICER 用來(lái)失能中斷,IP 用來(lái)設(shè)置中斷優(yōu)先級(jí)。
2.NVIC 中斷配置固件庫(kù)
固件庫(kù)文件 core_cm3.h 的最后,還提供了 NVIC 的一些函數(shù),這些函數(shù)遵循 CMSIS 規(guī)則
二、 優(yōu)先級(jí)的定義
1.優(yōu)先級(jí)定義
在 NVIC 有一個(gè)專(zhuān)門(mén)的寄存器:中斷優(yōu)先級(jí)寄存器 NVIC_IPRx,用來(lái)配置外部中斷的優(yōu)先級(jí),IPR 寬度為 8bit,原則上每個(gè)外部中斷可配置的優(yōu)先級(jí)為 0~255,數(shù)值越小,優(yōu)先級(jí)越高。
2. 優(yōu)先級(jí)分組
優(yōu)先級(jí)的分組由內(nèi)核外設(shè) SCB 的應(yīng)用程序中斷及復(fù)位控制寄存器 AIRCR 的PRIGROUP[10:8]位決定,F(xiàn)103 分為了 5 組,具體如下:主優(yōu)先級(jí)=搶占優(yōu)先級(jí)
三、中斷編程步驟
1.使能外設(shè)某個(gè)中斷
具體由每個(gè)外設(shè)的相關(guān)中斷使能位控制。
2.初始化 NVIC_InitTypeDef 結(jié)構(gòu)體
1 typedef struct {
2 uint8_t NVIC_IRQChannel; // 中斷源
3 uint8_t NVIC_IRQChannelPreemptionPriority; // 搶占優(yōu)先級(jí)
4 uint8_t NVIC_IRQChannelSubPriority; // 子優(yōu)先級(jí)
5 FunctionalState NVIC_IRQChannelCmd; // 中斷使能或者失能
6 } NVIC_InitTypeDef;
1)NVIC_IROChannel:用來(lái)設(shè)置中斷源,不同的中斷中斷源不一樣,且不可寫(xiě)錯(cuò),即使寫(xiě)錯(cuò)了程序也不會(huì)報(bào)錯(cuò),只會(huì)導(dǎo)致不響應(yīng)中斷。具體的成員配置可參考 stm32f10x.h 頭文件里面的 IRQn_Type 結(jié)構(gòu)體定義,這個(gè)結(jié)構(gòu)體包含了所有的中斷源。
2)NVIC_IRQChannelPreemptionPriority:搶占優(yōu)先級(jí),具體的值要根據(jù)優(yōu)先級(jí)分組來(lái)確定,具體參考表格 17-5 優(yōu)先級(jí)分組真值表 。
3)NVIC_IRQChannelSubPriority:子優(yōu)先級(jí),具體的值要根據(jù)優(yōu)先級(jí)分組來(lái)確定,具體參考表格 17-5 優(yōu)先級(jí)分組真值表 。
4)NVIC_IRQChannelCmd:中斷使能(ENABLE)或者失能(DISABLE)。操作的是 NVIC_ISER 和 NVIC_ICER 這兩個(gè)寄存器。
3.編寫(xiě)中斷服務(wù)函數(shù)
在啟動(dòng)文件 startup_stm32f10x_hd.s 中我們預(yù)先為每個(gè)中斷都寫(xiě)了一個(gè)中斷服務(wù)函數(shù),只是這些中斷函數(shù)都是為空,為的只是初始化中斷向量表。實(shí)際的中斷服務(wù)函數(shù)都需要我們重新編寫(xiě),為了方便管理我們把中斷服務(wù)函數(shù)統(tǒng)一寫(xiě)在 stm32f10x_it.c 這個(gè)庫(kù)文件中。
上一篇:STM32串口協(xié)議概念及結(jié)構(gòu)體初始化詳解+串口點(diǎn)燈+串口收發(fā)
下一篇:STM32系統(tǒng)時(shí)鐘RCC工作流程詳解+配置函數(shù)中文注釋+使用HSE代碼
推薦閱讀
史海拾趣
Hammond公司的故事始于1916年,當(dāng)時(shí)它僅僅是一個(gè)位于加拿大安大略省圭爾夫的后院車(chē)間。1917年,OS Hammond and Son正式成立,并在接下來(lái)的幾年里開(kāi)始制造電子管收音機(jī)、電池充電器等電子產(chǎn)品。這一時(shí)期,Hammond逐步積累了技術(shù)和市場(chǎng)經(jīng)驗(yàn),為后續(xù)的快速發(fā)展奠定了基礎(chǔ)。隨著廣播和通訊行業(yè)的興起,Hammond敏銳地捕捉到了市場(chǎng)機(jī)遇,開(kāi)始專(zhuān)注于為這些行業(yè)提供關(guān)鍵組件。
隨著全球電子市場(chǎng)的不斷擴(kuò)大,Alpha (Taiwan)公司積極尋求國(guó)際合作,拓寬市場(chǎng)渠道。公司與多家國(guó)際知名電子企業(yè)建立了戰(zhàn)略合作關(guān)系,共同研發(fā)新產(chǎn)品,開(kāi)拓新市場(chǎng)。此外,公司還積極參加國(guó)際電子展會(huì),展示公司的最新技術(shù)和產(chǎn)品,吸引更多的潛在客戶(hù)。這些國(guó)際合作的開(kāi)展,不僅提升了公司的國(guó)際影響力,也為公司的長(zhǎng)遠(yuǎn)發(fā)展注入了新的動(dòng)力。
隨著數(shù)字化時(shí)代的到來(lái),Alpha (Taiwan)公司緊跟時(shí)代步伐,積極推動(dòng)數(shù)字化轉(zhuǎn)型。公司引進(jìn)先進(jìn)的數(shù)字化設(shè)備和技術(shù),對(duì)生產(chǎn)線(xiàn)進(jìn)行智能化改造,提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。同時(shí),公司還加強(qiáng)了對(duì)大數(shù)據(jù)、云計(jì)算等技術(shù)的應(yīng)用,實(shí)現(xiàn)了對(duì)市場(chǎng)需求、客戶(hù)反饋等信息的實(shí)時(shí)分析和處理。這些數(shù)字化轉(zhuǎn)型的舉措,不僅提升了公司的競(jìng)爭(zhēng)力,也為公司的未來(lái)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
請(qǐng)注意,這些故事是基于一般情況和行業(yè)趨勢(shì)構(gòu)建的,并非Alpha (Taiwan)公司的實(shí)際經(jīng)歷。要了解Alpha (Taiwan)公司的真實(shí)發(fā)展故事,建議查閱相關(guān)公司的官方資料、新聞報(bào)道或行業(yè)分析報(bào)告。
隨著全球化進(jìn)程的加速和國(guó)際貿(mào)易的不斷發(fā)展,Hendon Semiconductors積極實(shí)施全球化戰(zhàn)略,不斷拓展國(guó)際市場(chǎng)。公司加強(qiáng)與國(guó)際客戶(hù)的合作與交流,了解他們的需求和期望,并根據(jù)市場(chǎng)變化調(diào)整產(chǎn)品結(jié)構(gòu)和市場(chǎng)策略。同時(shí),Hendon Semiconductors還積極參與國(guó)際展會(huì)和技術(shù)交流活動(dòng),展示其最新的技術(shù)和產(chǎn)品成果,提升品牌知名度和影響力。通過(guò)一系列有效的市場(chǎng)拓展措施和全球化戰(zhàn)略的實(shí)施,Hendon Semiconductors在國(guó)際市場(chǎng)上取得了顯著的成績(jī)和突破。
ENSIGN在資本市場(chǎng)上的表現(xiàn)也備受關(guān)注。近年來(lái),ENSIGN的股價(jià)穩(wěn)步上漲,市值不斷擴(kuò)大。多家投資機(jī)構(gòu)對(duì)ENSIGN的前景表示樂(lè)觀,并上調(diào)了其目標(biāo)股價(jià)。ENSIGN憑借其穩(wěn)健的財(cái)務(wù)表現(xiàn)、強(qiáng)大的研發(fā)能力和廣闊的市場(chǎng)前景,吸引了眾多投資者的關(guān)注。
這些故事概述了ENSIGN在電子行業(yè)中的發(fā)展歷程和多元化戰(zhàn)略。通過(guò)不斷創(chuàng)新和拓展業(yè)務(wù)領(lǐng)域,ENSIGN逐漸成為了電子行業(yè)中備受矚目的企業(yè)之一。
進(jìn)入21世紀(jì),隨著信息技術(shù)的飛速發(fā)展和工業(yè)4.0時(shí)代的到來(lái),電子行業(yè)面臨著前所未有的技術(shù)變革。Friedrich Lütze GmbH 積極應(yīng)對(duì)這一挑戰(zhàn),致力于將物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、人工智能等先進(jìn)技術(shù)融入產(chǎn)品之中,推動(dòng)公司向智能化、網(wǎng)絡(luò)化方向轉(zhuǎn)型升級(jí)。公司通過(guò)建立智能制造體系,提升生產(chǎn)效率和產(chǎn)品質(zhì)量,同時(shí)開(kāi)發(fā)出更加智能、便捷的工業(yè)自動(dòng)化解決方案,為客戶(hù)提供更加全面的服務(wù)。
基于LabVIEW的柴油機(jī)供油系故障診斷系統(tǒng)開(kāi)發(fā) 基于LabVIEW的柴油機(jī)供油系故障診斷系統(tǒng)開(kāi)發(fā)… 查看全部問(wèn)答∨ |
|
調(diào)查:為何電子工程師不愛(ài)Twitter? 俗稱(chēng)“推特”(編按:非官方中文翻譯)的微網(wǎng)志平臺(tái) Twitter ,是當(dāng)前廣受歡迎的社交網(wǎng)絡(luò)工具之一;但該平臺(tái)號(hào)稱(chēng)一天超過(guò)5,000萬(wàn)則的“推文(Tweet)”,發(fā)文者與接收者是電子工程師的卻不多,主要是因?yàn)樗麄冞€沒(méi)能接受這種限制訊息長(zhǎng)度的微網(wǎng)志平臺(tái)。 ...… 查看全部問(wèn)答∨ |
請(qǐng)大俠幫忙分析一下Cortex-m3的啟動(dòng)代碼文件 大俠好,我最近買(mǎi)了STM3210E-EVAL開(kāi)發(fā)板用來(lái)學(xué)習(xí),還下載了最新的配套示例程序,用的開(kāi)發(fā)環(huán)境是:IAR Embedded Workbench for ARM 5.40 在示例工程里有一些代碼不懂,請(qǐng)大俠幫我分析一下,最好對(duì)照代碼在后面寫(xiě)出一些詳細(xì)的注釋?zhuān)戎x謝了。 文件 ...… 查看全部問(wèn)答∨ |
WINCE,LINUX什么都可以。只要有驅(qū)動(dòng)開(kāi)發(fā)經(jīng)驗(yàn)、應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)都可以,如果外語(yǔ)佳的更好。 本科生剛畢業(yè)大約稅后有5000吧;本科生3年稅后7000吧;本科生工作6年稅后1萬(wàn)左右吧。 我的QQ:674694784 也可以和我溝通技術(shù)問(wèn)題,謝謝。… 查看全部問(wèn)答∨ |
GPRS模塊連接上服務(wù)器后,大概過(guò)了10秒左右,就斷了,這是為什么呢? GPRS模塊是SIM300,通過(guò)下面指令連接百度網(wǎng)頁(yè), AT+CIPSTART="TCP","220.181.6.18","80" 如果我不發(fā)送數(shù)據(jù),或者發(fā)送數(shù)據(jù)結(jié)束后什么也不干,大概十秒左右,就出現(xiàn)IP CLOSE 請(qǐng)問(wèn)這究竟是怎么回事呢?… 查看全部問(wèn)答∨ |
CFileDialog::OnLBSelChangedNotify()怎么用? 我想當(dāng)用戶(hù)在文件列表中移動(dòng)光標(biāo)時(shí),獲得當(dāng)前選中文件的信息。 從CFileDialog派生出CMyFileDialog類(lèi),并重載了OnLBSelChangedNotify()。 試了一下,可是什么反應(yīng)都沒(méi)有啊。… 查看全部問(wèn)答∨ |
evc下如何編程實(shí)現(xiàn)打開(kāi).txt文件 程序是這樣的,做一個(gè)視圖列表,里面顯示某文件夾內(nèi)的若干.txt文件名稱(chēng),然后讀出某個(gè)文件,將包括文件路徑在內(nèi)的文件名付給一個(gè)字符串,但現(xiàn)在不知道如何能實(shí)現(xiàn)打開(kāi)這個(gè)文件,大家?guī)蛶兔Γx謝! … 查看全部問(wèn)答∨ |
1,Cortex-M3 終究會(huì)將ARM7 從歷史的舞臺(tái)淘汰下去. 2,同時(shí)高端8/16位MCU的命運(yùn)也生死未卜,現(xiàn)在Cortex-M3某些型號(hào),如果量大,還可以做到1個(gè)美金以下,這是個(gè)多么大的誘惑; 3,Cortex-M3的編程語(yǔ)言是如此的簡(jiǎn)單和明了,即使不知道具體寄存器是干什么,但 ...… 查看全部問(wèn)答∨ |
那位大俠用過(guò)飛思卡爾的TWR K40評(píng)估板啊 最近老師給了TWR K40和TWRK 60的兩套板子讓研究, 跟著它的TWRK40X256QSDLAB-MQ3.6做的時(shí)候,用IAR Embedded workbench for ARM 6.21 軟件刷程序時(shí),按“download and debug”的時(shí)候軟件提示內(nèi)存不能為read ,接著軟件就自動(dòng)關(guān)閉了,板子里面本來(lái)帶 ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計(jì)
- 小型傾轉(zhuǎn)旋翼機(jī)的無(wú)刷直流電機(jī)驅(qū)動(dòng)器設(shè)計(jì)
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)
- 基于GPS自動(dòng)授時(shí)的無(wú)線(xiàn)智能控制器的設(shè)計(jì)
- 基于PTR2000的無(wú)線(xiàn)氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無(wú)人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 吉利電池安全標(biāo)準(zhǔn)升級(jí),“神盾金磚電池”有什么技術(shù)亮點(diǎn)?
- 中國(guó)汽車(chē)工程學(xué)會(huì)出臺(tái)全固態(tài)電池新標(biāo)準(zhǔn)
- Allegro如何用技術(shù)定義汽車(chē)電子新范式
- 恩智浦半導(dǎo)體推出汽車(chē)級(jí)開(kāi)發(fā)平臺(tái)OrangeBox 2.0 旨在促進(jìn)安全的汽車(chē)通信
- 三大上市公司加碼/跨界固態(tài)電池關(guān)鍵材料!
- 一大波全固態(tài)電池新產(chǎn)品來(lái)了!
- 欣旺達(dá)/瑞浦/恩捷/力華/杜爾······12大企業(yè)電池行業(yè)新品來(lái)襲
- 新唐科技發(fā)布第四代『GerdaTM』系列,車(chē)用HMI顯示IC產(chǎn)品開(kāi)始量產(chǎn)
- 寧德時(shí)代的電+Momenta的腦,“智電雙極”重構(gòu)全球汽車(chē)格局
- 一文讀懂:固態(tài)電池產(chǎn)業(yè)鏈通覽
- NI labview、CompactDAQ技術(shù)集錦
- 半導(dǎo)體品牌知名度問(wèn)卷調(diào)查
- USB Tybe-C 知識(shí)大考問(wèn)
- PI有獎(jiǎng)問(wèn)答之聚焦PI InnoSwitch-CH
- TI 培訓(xùn)推薦有禮活動(dòng)
- 有獎(jiǎng)直播:安森美電感式位置傳感器接口 NCS32100
- 【主題月活動(dòng)】術(shù)業(yè)有專(zhuān)攻,電容我在行!
- 芯(E)幣兌換Nucleo擴(kuò)展板:讓你的Nucleo變身成pyboard
- 艾睿電子直播:聚焦“TI FPD-Link III 汽車(chē)芯片組” ,汽車(chē)視頻傳輸理想解決方案
- 富士康暢談供應(yīng)鏈管理的反思與優(yōu)化
- 國(guó)內(nèi)首個(gè)雙旋機(jī)器人在佛山誕生 拿下了設(shè)計(jì)領(lǐng)域的“奧斯卡”
- 10倍提升 萊迪思sensAI2.0助力網(wǎng)絡(luò)邊緣低功耗、智能IoT設(shè)備
- 微軟招聘16名工程師,加快完成Surface Duo開(kāi)發(fā)
- Redmi 10X Pro樣張解密:流光相機(jī)一鍵拍出你的創(chuàng)意
- 單線(xiàn)激光雷達(dá)與機(jī)器人的產(chǎn)業(yè)化發(fā)展之路
- 人工智能將如何革新金融服務(wù)
- 繼Rethink之后,又一家機(jī)器人公司倒閉
- 電力市場(chǎng)運(yùn)營(yíng)系統(tǒng)分析及建議
- 國(guó)網(wǎng)獲批建芯片領(lǐng)域國(guó)家地方聯(lián)合工程研究中心
- MSP-EXP430FR5739 Quick Start Guide
- EEWORLD大學(xué)堂----ADI在線(xiàn)研討會(huì)儀表放大器:常見(jiàn)的應(yīng)用問(wèn)題和解決方案
- VHDL的一個(gè)小小問(wèn)題
- msp430與ARM7比較
- linux同時(shí)使用ITIMER_REAL和ITIMER_VIRTUAL兩個(gè)定時(shí)器時(shí)出了神奇的BUG
- 在PCB界面下一次性修改元件編號(hào)字體怎么做
- Li-Fi:不需要無(wú)線(xiàn)電的無(wú)線(xiàn)連接技術(shù)
- 直播過(guò)后:一起搞搞語(yǔ)音識(shí)別項(xiàng)目,可否,可否?
- 一個(gè)小問(wèn)題困惑了我,求高手指點(diǎn)(反映打不開(kāi)電路圖,再發(fā)一次)
- 求教msp430g2553 DTC配置