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