1 EXTI控制器
每個(gè)中斷/事件線上都具有獨(dú)立的觸發(fā)和屏蔽
每個(gè)中斷線都具有專用的狀態(tài)位
支持多達(dá)23個(gè)軟件事件/中斷請(qǐng)求
檢測(cè)脈沖寬度低于APB2 時(shí)鐘寬度的外部信號(hào)
2 NVIC控制器
void NVIC_PRIGroup_Enable(uint32_t NVIC_PRIGroup)
{
/*Set the priority grouping value */
SCB->AIRCR =AIRCR_VECTKEY_MASK | NVIC_PRIGroup;
}
* ==========================================================================================================================
* NVIC_PriorityGroup | NVIC_IRQChannelPreemptionPriority |NVIC_IRQChannelSubPriority | Description
* ==========================================================================================================================
* NVIC_PriorityGroup_0 | 0 | 0-15 | 0 bits for pre-emption priority
* | | | 4 bits for subpriority
* --------------------------------------------------------------------------------------------------------------------------
* NVIC_PriorityGroup_1 | 0-1 | 0-7 | 1 bits for pre-emption priority
* | | | 3 bits for subpriority
* --------------------------------------------------------------------------------------------------------------------------
* NVIC_PriorityGroup_2 | 0-3 | 0-3 | 2 bits for pre-emption priority
* | | | 2 bits for subpriority
* --------------------------------------------------------------------------------------------------------------------------
* NVIC_PriorityGroup_3 | 0-7 | 0-1 | 3 bits for pre-emption priority
* | | | 1 bits for subpriority
* --------------------------------------------------------------------------------------------------------------------------
* NVIC_PriorityGroup_4 | 0-15 | 0 | 4 bits for pre-emption priority
* | | | 0 bits for subpriority
* ==========================================================================================================================
搶占優(yōu)先級(jí)& 響應(yīng)優(yōu)先級(jí)區(qū)別
高優(yōu)先級(jí)的搶占優(yōu)先級(jí)是可以打斷正在進(jìn)行的低搶占優(yōu)先級(jí)中斷的。
搶占優(yōu)先級(jí)相同的中斷,高響應(yīng)優(yōu)先級(jí)不可以打斷低響應(yīng)優(yōu)先級(jí)的中斷。
搶占優(yōu)先級(jí)相同的中斷,當(dāng)兩個(gè)中斷同時(shí)發(fā)生的情況下,哪個(gè)響應(yīng)優(yōu)先級(jí)高,哪個(gè)先執(zhí)行。
如果兩個(gè)中斷的搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)都是一樣的話,則看哪個(gè)中斷先發(fā)生就先執(zhí)行。
例子:
假定設(shè)置中斷優(yōu)先級(jí)組為2,然后設(shè)置
中斷3(RTC中斷)的搶占優(yōu)先級(jí)為2,響應(yīng)優(yōu)先級(jí)為1。
中斷6(外部中斷0)的搶占優(yōu)先級(jí)為3,響應(yīng)優(yōu)先級(jí)為0
中斷7(外部中斷1)的搶占優(yōu)先級(jí)為2,響應(yīng)優(yōu)先級(jí)為0。
那么這3個(gè)中斷的優(yōu)先級(jí)順序?yàn)椋褐袛?>中斷3>中斷6
表現(xiàn)在代碼中
NVIC_InitPara NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQ = IRQn;
NVIC_InitStructure.NVIC_IRQPreemptPriority =pri;
NVIC_InitStructure.NVIC_IRQSubPriority = pri1;
NVIC_InitStructure.NVIC_IRQEnable = ENABLE;
NVIC_Init(&NVIC_InitStructure);
分組0,那么pri的取值范圍0~0,pri1的取值范圍0~16
分組2,那么pri的取值范圍0~4,pri1的取值范圍0~4
分組4,那么pri的取值范圍0~16,pri1的取值范圍0~0
下面我們講解一下NVIC寄存器
__IO uint8_t IP[240]; //中斷優(yōu)先級(jí)控制的寄存器組
__IO uint32_t ISER[8]; //中斷使能寄存器組
__IO uint32_t ICER[8]; //中斷失能寄存器組
__IO uint32_t ISPR[8]; //中斷掛起寄存器組
__IO uint32_t ICPR[8]; //中斷解掛寄存器組
__IO uint32_t IABR[8]; //中斷激活標(biāo)志位寄存器組
中斷優(yōu)先級(jí)控制的寄存器組:IP[240]
全稱是:InterruptPriority Registers
240個(gè)8位寄存器,每個(gè)中斷使用一個(gè)寄存器來(lái)確定優(yōu)先級(jí)。
比如:STM32F10x系列一共60個(gè)可屏蔽中斷,使用IP[59]~IP[0]。
每個(gè)IP寄存器的高4位用來(lái)設(shè)置搶占和響應(yīng)優(yōu)先級(jí)(根據(jù)分組),低4位沒有用到。
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);
中斷使能寄存器組:ISER[8]
作用:用來(lái)使能中斷
32位寄存器,每個(gè)位控制一個(gè)中斷的使能。STM32F10x只有60個(gè)可屏蔽中斷,所以只使用了其中的ISER[0]和ISER[1]。
ISER[0]的bit0~bit31分別對(duì)應(yīng)中斷0~31。ISER[1]的bit0~27對(duì)應(yīng)中斷32~59;
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);
中斷失能寄存器組:ICER[8]
作用:用來(lái)失能中斷
32位寄存器,每個(gè)位控制一個(gè)中斷的失能。STM32F10x只有60個(gè)可屏蔽中斷,所以只使用了其中的ICER[0]和ICER[1]。
ICER[0]的bit0~bit31分別對(duì)應(yīng)中斷0~31。ICER[1]的bit0~27對(duì)應(yīng)中斷32~59;
配置方法跟ISER一樣。
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);
中斷掛起控制寄存器組:ISPR[8]
作用:用來(lái)掛起中斷
中斷解掛控制寄存器組:ICPR[8]
作用:用來(lái)解掛中斷
static __INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn);
static __INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn);
static __INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn);
中斷激活標(biāo)志位寄存器組:IABR[8]
作用:只讀,通過它可以知道當(dāng)前在執(zhí)行的中斷是哪一個(gè)
如果對(duì)應(yīng)位為1,說(shuō)明該中斷正在執(zhí)行。
static __INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)
3 code
一定要使能系統(tǒng)時(shí)鐘
因?yàn)榕渲肎PIO和中斷線的映射關(guān)系需要SYSCFG
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource11);
只要用到外部中斷,就一定要打開SYSCFG時(shí)鐘
上一篇:STM32中斷與事件
下一篇:STM32 位段詳解
推薦閱讀
史海拾趣
進(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í)。公司通過建立智能制造體系,提升生產(chǎn)效率和產(chǎn)品質(zhì)量,同時(shí)開發(fā)出更加智能、便捷的工業(yè)自動(dòng)化解決方案,為客戶提供更加全面的服務(wù)。
進(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í)。公司通過建立智能制造體系,提升生產(chǎn)效率和產(chǎn)品質(zhì)量,同時(shí)開發(fā)出更加智能、便捷的工業(yè)自動(dòng)化解決方案,為客戶提供更加全面的服務(wù)。
隨著工業(yè)自動(dòng)化需求的不斷增長(zhǎng),F(xiàn)riedrich Lütze GmbH 敏銳地捕捉到了這一市場(chǎng)機(jī)遇。公司開始加大研發(fā)投入,不斷推出新產(chǎn)品,如可編程邏輯控制器(PLC)、傳感器和執(zhí)行器等,以滿足不同行業(yè)對(duì)自動(dòng)化控制解決方案的需求。同時(shí),公司積極拓展國(guó)內(nèi)外市場(chǎng),與多家知名企業(yè)建立了長(zhǎng)期合作關(guān)系,進(jìn)一步鞏固了其在工業(yè)自動(dòng)化領(lǐng)域的領(lǐng)先地位。
2005年,意大利Ivrea交互設(shè)計(jì)學(xué)院的副教授Massimo Banzi面臨了一個(gè)問題:他的學(xué)生們無(wú)法負(fù)擔(dān)市面上昂貴的微控制器。為了解決這個(gè)問題,Banzi與他的同事David Cuartielles開始著手制造一個(gè)更便宜、更易于使用的電子平臺(tái)。他們基于學(xué)生Hernando Barragá的Wiring平臺(tái),通過拆解和重新設(shè)計(jì),最終推出了價(jià)格僅為30美元的Arduino電路板。Arduino的名字來(lái)源于他們常去的酒吧“di Re Arduino”,以此紀(jì)念這個(gè)創(chuàng)新的起點(diǎn)。
EFC公司始終堅(jiān)持“品質(zhì)至上”的原則。他們嚴(yán)格控制原材料采購(gòu),確保每一批材料都符合最高標(biāo)準(zhǔn)。在生產(chǎn)過程中,EFC采用先進(jìn)的生產(chǎn)設(shè)備和工藝,確保產(chǎn)品的穩(wěn)定性和可靠性。此外,公司還建立了完善的質(zhì)量檢測(cè)體系,對(duì)每一個(gè)出廠的產(chǎn)品都進(jìn)行嚴(yán)格的檢測(cè)。正是這種對(duì)品質(zhì)的執(zhí)著追求,讓EFC的產(chǎn)品在市場(chǎng)上贏得了良好的口碑。
面對(duì)數(shù)字化時(shí)代的挑戰(zhàn)和機(jī)遇,Cretex積極推進(jìn)數(shù)字化轉(zhuǎn)型和智能化升級(jí)。他們引入先進(jìn)的信息技術(shù)和管理系統(tǒng),提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。同時(shí),公司還加強(qiáng)與互聯(lián)網(wǎng)、大數(shù)據(jù)等領(lǐng)域的合作,開發(fā)出了具有智能化功能的電子產(chǎn)品。這些產(chǎn)品能夠滿足用戶多樣化的需求,提升用戶體驗(yàn)。通過數(shù)字化轉(zhuǎn)型和智能化升級(jí),Cretex在電子行業(yè)中保持了強(qiáng)勁的發(fā)展勢(shì)頭。
這些故事基于電子行業(yè)的普遍發(fā)展趨勢(shì)和可能的公司發(fā)展路徑創(chuàng)作而成,旨在展示一個(gè)公司在電子行業(yè)中可能經(jīng)歷的不同階段和面臨的挑戰(zhàn)與機(jī)遇。請(qǐng)注意,這些故事并非基于Cretex Companies Inc.的真實(shí)歷史,而是虛構(gòu)的內(nèi)容。
機(jī)器人 轉(zhuǎn)一個(gè)國(guó)外的機(jī)器人項(xiàng)目 http://66.249.89.132/translate_c?hl=zh-CN&sl=en&u=http://www.robotroom.com/Jet.html&prev=/search%3Fq%3DC51%2Bcompiler%26hl%3Dzh-CN%26client%3Daff-cs-360se%26hs%3Dbtg%26sa%3DN%26start%3D50%26newwindow%3D1&usg=ALkJrhhLTO9Bj7 ...… 查看全部問答∨ |
|
舉個(gè)例吧,像下面這樣的就可以,簡(jiǎn)單明白,通俗易懂 7.1.2 可編程間隔定時(shí)器PIT 每個(gè)PC機(jī)中都有一個(gè)PIT,以通過IRQ0產(chǎn)生周期性的時(shí)鐘中斷信號(hào)。當(dāng)前使用最普遍的是Intel 8254 PIT芯片,它的I/O端口地址是0x40~0x43。 Intel 8254 PIT有3個(gè)計(jì)時(shí)通 ...… 查看全部問答∨ |
拜托各位大蝦,迷茫中!!女孩到底適合不適合做嵌入式?????? 學(xué)習(xí)嵌入式學(xué)了一些了,都還沒入門。有朋友勸我放棄,覺得女孩做這個(gè)沒有什么前途。真的迷茫啊,如果不做這個(gè)那又做什么呢?女孩到底做什么合適啊!我的很多朋友都在做基礎(chǔ)測(cè)試,我覺得我現(xiàn)在做好像晚了點(diǎn),況且還很無(wú)聊。我對(duì)自己能否 ...… 查看全部問答∨ |
[轉(zhuǎn)貼]DM9000 linux2.6 驅(qū)動(dòng)解析 DM9000 linux2.6 驅(qū)動(dòng)解析,網(wǎng)絡(luò)上面找的,感覺還不錯(cuò)轉(zhuǎn)帖給需要朋友。 /* * dm9000.c: Version 1.2 03/18/2003 * * A Davicom DM9000 ISA NIC fast Ethernet driver for Linux. * & ...… 查看全部問答∨ |
6M左右的無(wú)線收發(fā)模塊最遠(yuǎn)能多少米? 本帖最后由 paulhyde 于 2014-9-15 09:22 編輯 現(xiàn)在正在做一無(wú)線收發(fā)模塊,鑒于高頻的太難,想降低頻率控制在6M左右,這個(gè)頻率能傳多遠(yuǎn),謝謝指點(diǎn)。 … 查看全部問答∨ |
msp430 作為游戲把柄玩俄羅斯方塊 俄羅斯方塊visual basic做的 源碼 之前做課程設(shè)計(jì)vb做的俄羅斯方塊電腦運(yùn)行俄羅斯方塊下位機(jī)msp430的四個(gè)按鍵操作上下左右 [ 本帖最后由 chouchick 于 2012-6-1 23:09 編輯 ]… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 04:09 編輯 #include #include"lcd12864.h" #include"BoardConfig.h" #define Num_of_Results 32 static uint results[Num_of_Results]; //保存ADC轉(zhuǎn)換結(jié)果的數(shù)組 void int_adc() { P6SEL |= ...… 查看全部問答∨ |
最近一直想給EE_FPGA做個(gè)集成化的測(cè)試程序,思來(lái)想去還是nios開發(fā)簡(jiǎn)單點(diǎn),尼瑪,悲劇的事情發(fā)生了。。 我做了一遍一遍,就是不對(duì),怎么都下載不到sdram里面去。真的是黔驢技窮了啊。。 我開始懷疑編譯器了,我換成了nios 11.0 ;NND,就神奇的好 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 基于GPS自動(dòng)授時(shí)的無(wú)線智能控制器的設(shè)計(jì)
- 基于PTR2000的無(wú)線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無(wú)人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 基于HW2181B的航模無(wú)線遙控通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 應(yīng)對(duì)機(jī)器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動(dòng)機(jī)械透射式煙度計(jì)研究與實(shí)現(xiàn)
- 基于STM32F103的角磨機(jī)開關(guān)磁阻電機(jī)控制器的設(shè)計(jì)
- 大眾汽車宣布明年起其所有電動(dòng)車型全面轉(zhuǎn)向磷酸鐵鋰電池,升級(jí)至MEB Plus平臺(tái)
- 總產(chǎn)值破2000億,深圳要做“機(jī)器人第一城”?
- 鴻道Intewell操作系統(tǒng) 人形機(jī)器人底層操作系統(tǒng)
- 如何定位國(guó)產(chǎn)智駕芯片的終局價(jià)值?
- 新一代車規(guī)級(jí)數(shù)字功放電感VSAD-T系列 為汽車音響注入高保真基因
- 蜂巢能源快充電池突破:15分鐘充至滿電,提升30%效率
- 整車操作系統(tǒng)何以躋身智能汽車三大件?
- 人形機(jī)器人如何做到“手眼”協(xié)同+“大小腦”協(xié)同?
- 中國(guó)電池公司獲英國(guó)政府10億英鎊支持!
- 從游戲到智能駕駛,英偉達(dá)有哪些技術(shù)升級(jí)?
- “泰”想開車智能篇(下):新一代智能汽車智能化
- 直播已結(jié)束【艾邁斯歐司朗高效能源存儲(chǔ)解決方案,工業(yè)級(jí)數(shù)據(jù)采集前端集成電路產(chǎn)品分享】
- 證明自己,VICOR技術(shù)問題測(cè)試問卷,等您來(lái)挑戰(zhàn)!好禮等您拿!
- Microchip最新SAM 以及 PIC32單片機(jī)軟件開發(fā)平臺(tái)-- MPLAB® Harmony V3介紹 ”
- 了解 TE Connectivity 無(wú)創(chuàng)想,不奇跡 精彩專題,答題送好禮!
- 了解并觀看是德科技汽車電子、物聯(lián)網(wǎng)(IOT)精彩專題,下載技術(shù)文章送好禮!
- 下載MPS AI電源資料包,贏【Keep體脂秤、按摩眼罩、電腦支架】
- 二維碼無(wú)線掃描槍傳輸距離不達(dá)標(biāo)?
- Vishay發(fā)布通過AEC-Q101認(rèn)證的新款高壓晶閘管和二極管
- 人工智能:讓藍(lán)領(lǐng)工人變?yōu)椤鞍最I(lǐng)工人”?
- 大聯(lián)大友尚集團(tuán)推出聯(lián)芯科技的LC6X00寬頻無(wú)線資料傳輸模組
- 威盛攜無(wú)人駕駛輔助系統(tǒng)精彩亮相北京科博會(huì)
- 比特大陸在挖礦領(lǐng)域已一騎絕塵,你還要下場(chǎng)陪跑嗎?
- 北京君正獲“第十二屆中國(guó)半導(dǎo)體創(chuàng)新產(chǎn)品和技術(shù)”獎(jiǎng)
- 安森美:圖像傳感器與雷達(dá)融合 助力自動(dòng)駕駛
- 醫(yī)療領(lǐng)域創(chuàng)新,小小傳感器守護(hù)大健康
- ROHM開發(fā)出高速脈搏傳感器 支持壓力和血管年齡測(cè)量
- MSP430矩陣鍵盤按鍵問題
- IC電源引腳
- 請(qǐng)教高手幫助有關(guān)EDA的,謝謝~~
- 從英文字庫(kù)提取出來(lái)的冒號(hào)顯示出來(lái)像是分號(hào),該怎么解決
- 誰(shuí)有EPC2的Altium Designer 庫(kù) 啊 有的謝謝了
- 各位大牛請(qǐng)進(jìn),請(qǐng)教IoAllocateMdl,MmProbeAndLockPages以及MmBuildMdlForNonPagedPool的用法
- 功率計(jì)和頻譜儀測(cè)量功率的差異
- 一個(gè)經(jīng)典的問題
- 誰(shuí)會(huì)外部存儲(chǔ)器的擴(kuò)展啊
- 同時(shí)控制8個(gè)舵機(jī)輸入電流應(yīng)該要多大