日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]LPC1114的中斷,由中斷控制模塊NVIC控制。一共32個(gè)中斷,每個(gè)中斷的優(yōu)先級(jí)可編程為 0~3 四種級(jí)別。級(jí)別越高對(duì)應(yīng)的優(yōu)先級(jí)越低。因此,級(jí)別0 是最高的中斷優(yōu)先級(jí)。設(shè)置中斷優(yōu)先級(jí)的函數(shù),CMISIS已經(jīng)寫好,并嵌入到了編

LPC1114的中斷,由中斷控制模塊NVIC控制。一共32個(gè)中斷,每個(gè)中斷的優(yōu)先級(jí)可編程為 0~3 四種級(jí)別。級(jí)別越高對(duì)應(yīng)的優(yōu)先級(jí)越低。因此,級(jí)別0 是最高的中斷優(yōu)先級(jí)。

設(shè)置中斷優(yōu)先級(jí)的函數(shù),CMISIS已經(jīng)寫好,并嵌入到了編譯器中,例如,我們用KEIL開(kāi)發(fā)的話,設(shè)置中斷優(yōu)先級(jí)的函數(shù)位于core_cm0.h文件當(dāng)中,函數(shù)如下所示:

/**briefSetInterruptPriorityThefunctionsetsthepriorityofaninterrupt.noteTheprioritycannotbesetforeverycoreinterrupt.param[in]IRQnInterruptnumber.param[in]priorityPrioritytoset.*/__STATIC_INLINEvoidNVIC_SetPriority(IRQn_TypeIRQn,uint32_tpriority){if(IRQn<0){SCB->SHP[_SHP_IDX(IRQn)]=(SCB->SHP[_SHP_IDX(IRQn)]&~(0xFF<<_BIT_SHIFT(IRQn)))|(((priority<<(8-__NVIC_PRIO_BITS))&0xFF)<<_BIT_SHIFT(IRQn));}else{NVIC->IP[_IP_IDX(IRQn)]=(NVIC->IP[_IP_IDX(IRQn)]&~(0xFF<<_BIT_SHIFT(IRQn)))|(((priority<<(8-__NVIC_PRIO_BITS))&0xFF)<<_BIT_SHIFT(IRQn));}}

從上面函數(shù)可以看出,該函數(shù)有兩個(gè)參數(shù),IRQn是指你要設(shè)置的中斷向量,priority是中斷優(yōu)先級(jí),優(yōu)先級(jí)可以是0 1 2 3四個(gè)數(shù),0的優(yōu)先級(jí)最大,3的優(yōu)先級(jí)最小。假設(shè)你要設(shè)置GPIO1中斷的優(yōu)先級(jí)最高,那么就是:

NVIC_SetPriority(EINT1_IRQn, 0);

這時(shí),有人會(huì)問(wèn),”EINT1_IRQn”從哪里來(lái)?答:這個(gè)可以在LPC11xx.h文件當(dāng)中找到,如下所示:

/**==========================================================================*----------InterruptNumberDefinition-----------------------------------*==========================================================================*/typedefenumIRQn{/******Cortex-M0ProcessorExceptionsNumbers***************************************************/Reset_IRQn=-15,/*!<1ResetVector,invokedonPowerupandwarmreset*/NonMaskableInt_IRQn=-14,/*!<2NonmaskableInterrupt,cannotbestoppedorpreempted*/HardFault_IRQn=-13,/*!<3HardFault,allclassesofFault*/SVCall_IRQn=-5,/*!<11SystemServiceCallviaSVCinstruction*/PendSV_IRQn=-2,/*!<14Pendablerequestforsystemservice*/SysTick_IRQn=-1,/*!<15SystemTickTimer*//******LPC11CxxorLPC11xxSpecificInterruptNumbers*******************************************************/WAKEUP0_IRQn=0,/*!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉