ARM中外部中斷的配置流程供參考
1)使能端口的時鐘;
本文引用地址:http://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個輸入點,對應(yīng)的配置寄存器為:外部中斷/事件控制器(EXTIX)寄存器(X:1~4),
設(shè)定需要配置的輸入點,將該輸入點對應(yīng)的寄存器置位,目的是設(shè)置成為:
PA[x]腳
PB[x]腳
PC[x]腳
PD[x]腳
PE[x]腳
假如是13設(shè)置為PA腳:那么代碼可以這樣了寫:
AFIO->EXTICR[EXTADDR]&=~(0x000F< 4)設(shè)置中斷的觸發(fā)條件; 5)配置中斷分組,并使能中斷; 6)編寫中斷服務(wù)函數(shù)。
評論