<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STM32 NVIC嵌套向量中斷控制器函數分析

STM32 NVIC嵌套向量中斷控制器函數分析

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏

IMR:中斷屏蔽寄存器Interrupt Mask Register 32位寄存器前19位有效
EMR: 事件屏蔽寄存器Eventmaskregister 32位寄存器前19位有效
RTST: 上升沿觸發(fā)選擇寄存器Rising edge trigger select register
FTSR:下降沿觸發(fā)選擇寄存器Falling edge trigger select register
SWIER:軟件中斷事件寄存器Software interrupt event register
PR: 掛起寄存器Pending Register

I/O口復用里的配置寄存器EXTICR 每個(gè)I/O口可以配置成中斷輸入


STM32 任何一個(gè)IO口都可以配置成中斷輸入口,但是IO口的數目遠大于中斷線(xiàn)數(16個(gè))。于是STM32就這樣設計,GPIOA~GPIOG的[15:0]分別對應中斷線(xiàn)15~0。這樣每個(gè)中斷線(xiàn)對應了最多7個(gè)IO口,以線(xiàn)0為例:它對應了GPIOA.0、PIOB.0、GPIOC.0、GPIOD.0、 GPIOE.0、GPIOF.0、GPIOG.0。而中斷線(xiàn)每次只能連接到1個(gè)IO口上,這樣就需要EXTICR來(lái)決定對應的中斷線(xiàn)配置到哪個(gè)GPIO上了。















EXTICR在A(yíng)FIO的結構體中定義如下

typedef struct
{
vu32 EVCR;
vu32 MAPR;
vu32 EXTICR[4];
} AFIO_TypeDef;

EXTIRC寄存器總共4個(gè),因為編譯器的寄存器都是從0號開(kāi)始的,所以EXTICR[0]---EXTICR[3]對應
<>中的EXTICR1---EXTICR4 每個(gè)EXTICR用了其中低16位.

外部中斷配置函數:
void Ex_NVIC_Config(u8 GPIOx,u8 BITx,u8 TRIM)
{
u8 EXTADDR;
u8 EXTOFFSET;
EXTADDR=BITx/4; //得到中斷寄存器組編號
EXTOFFSET=(BITx%4)*4; //得到偏移量 具體哪個(gè)I/O口進(jìn)行設置
RCC->APB2ENR|=0x01; //使能復用I/O口
AFIO->EXTICR[EXTADDR]|=GPIOx<EXTI->IMR|=1<EXTI->EMR|=1<if(TRIM&0x01) EXIT->FTSR|=1<if(TRIM&0x02) EXIT->RTSR|=1<}

注:
TRIM為觸發(fā)方式選擇變量; 0x01下降沿觸發(fā) 0x02 上升沿觸發(fā) 0x03任意電平觸發(fā).


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: STM32NVIC向量中斷控制器函數分

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>