STM32F104VG (一)中斷與外部中斷
1.ARM的中斷優(yōu)先級分硬件優(yōu)先級和軟件優(yōu)先級兩種
本文引用地址:http://dyxdggzs.com/article/201611/318394.htm其中軟件優(yōu)先級又由搶占優(yōu)先級和響應優(yōu)先級組成
2.中斷的優(yōu)先級采用編號小優(yōu)先的原則。
3.一般情況:
1).如果設定了軟件優(yōu)先級,先看軟件優(yōu)先級:
具有高搶占式優(yōu)先級的中斷可以在具有低搶占式優(yōu)先級的中斷處理過(guò)程中被響應,即中斷嵌套,或者說(shuō)高搶占式優(yōu)先級的中斷可以嵌套低搶占式優(yōu)先級的中斷。
當兩個(gè)中斷源的搶占式優(yōu)先級相同時(shí),這兩個(gè)中斷將沒(méi)有嵌套關(guān)系,當一個(gè)中斷到來(lái)后,如果正在處理另一個(gè)中斷,這個(gè)后到來(lái)的中斷就要等到前一個(gè)中斷處理完之后才能被處理。如果這兩個(gè)中斷同時(shí)到達,則中斷控制器根據他們的響應優(yōu)先級高低來(lái)決定先處理哪一個(gè)。
2).后看硬件優(yōu)先級
如果他們的搶占式優(yōu)先級和響應優(yōu)先級都相等,則根據他們在中斷表中的排位順序決定先處理哪一個(gè)。
[10:8] | 分割點(diǎn) | 搶占優(yōu)先級位 | 響應優(yōu)先級位 | 搶占優(yōu)先級數 | 響應優(yōu)先級數 |
0b011(組4) | xxxx | [7:4] | none | 16(0~15) | 1(0~0) |
0b100(組3) | xxx.y | [7:5] | [4] | 8 | 2 |
0b101(組2) | xx.yy | [7:6] | [5:4] | 4(0~3) | 4(0~3) |
0b110(組1) | x.yyy | [7] | [6:4] | 2 | 8 |
0b111(組0) | yyyy | none | [7:4] | 1 | 16 |
二、具體實(shí)例

{
if(EXTI_GetITStatus(EXTI_Line12) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line12); /* 清除中斷標志位 */
//do something
}
if(EXTI_GetITStatus(EXTI_Line13) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line13); /* 清除中斷標志位 */
//do something
}
if(EXTI_GetITStatus(EXTI_Line14) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line14); /* 清除中斷標志位 */
//do something
}
if(EXTI_GetITStatus(EXTI_Line15) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line15); /* 清除中斷標志位 */
//do something
}
}
評論