|
在上一次外部中斷我們以經(jīng)實(shí)現(xiàn)了由按鍵了進(jìn)入中斷,這就是硬件產(chǎn)生的中斷。這框圖中我們看出一個(gè)或門鏈接著軟件事件寄存器和邊沿檢測電路。都可以流向NVIC。我們可以用軟件來模擬產(chǎn)生中斷。黑色畫的線代表硬件,紅色代表軟件產(chǎn)生的中斷。
/*******************************************
軟件模擬產(chǎn)生中斷
PF5映射到EXIT5
********************************************/
void SOFT_Interrupt_Init()
{
//使能軟件中斷
EXTI->IMR |= (1<<5);
//初始化關(guān)閉中斷
EXTI->SWIER &= ~(1<<5);
//設(shè)置優(yōu)先級
My_NVIC_Init(EXTI9_5_IRQn,7-3,6,1);
}
在.h文件中加入這個(gè)宏
#define SOFT_ON EXTI->SWIER |= (1<<5) /開啟軟件中斷,如果需要產(chǎn)生軟件中斷,就在main函數(shù)調(diào)用就可以
#define SOFT_OFF EXTI->SWIER &= ~(1<<5)/關(guān)閉軟件中斷。
|
|