ARM中外部中斷的配置流程供參考
1)使能端口的時(shí)鐘;
本文引用地址:http://m.butianyuan.cn/article/201611/318693.htm2)將需要的端口配置成輸入端口,具體的寄存器為:端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH),
例如,GPIOA->CRL&=0XFFFFFFF0;//PA0設(shè)置成輸入
GPIOA->CRL|=0X00000008;
設(shè)置該端口默認(rèn)的電平,具體的寄存器為:端口輸出數(shù)據(jù)寄存器(GPIOx_ODR) (x=A..E),
例如,GPIOA->ODR|=1<<13;
3) 設(shè)置IO口和中斷線的映射關(guān)系,ARM7中支持16個(gè)輸入點(diǎn),對(duì)應(yīng)的配置寄存器為:外部中斷/事件控制器(EXTIX)寄存器(X:1~4),
設(shè)定需要配置的輸入點(diǎn),將該輸入點(diǎn)對(duì)應(yīng)的寄存器置位,目的是設(shè)置成為:
PA[x]腳
PB[x]腳
PC[x]腳
PD[x]腳
PE[x]腳
假如是13設(shè)置為PA腳:那么代碼可以這樣了寫(xiě):
AFIO->EXTICR[EXTADDR]&=~(0x000F< 4)設(shè)置中斷的觸發(fā)條件; 5)配置中斷分組,并使能中斷; 6)編寫(xiě)中斷服務(wù)函數(shù)。
評(píng)論