新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32+IAR+uC/OS環(huán)境下怎樣寫中斷程序

STM32+IAR+uC/OS環(huán)境下怎樣寫中斷程序

作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
先說說,幾個(gè)關(guān)鍵函數(shù):
bsp_int.c提供幾個(gè)關(guān)鍵的中斷操作函數(shù):
voidBSP_IntDis(CPU_DATAint_id)//關(guān)閉指定中斷
voidBSP_IntDisAll(void)//關(guān)閉所有中斷
voidBSP_IntEn (CPU_DATAint_id)//使能指定中斷
voidBSP_IntVectSet (CPU_DATAint_id,
CPU_FNCT_VOIDisr)//用這個(gè)函數(shù)把用戶編寫的中斷函數(shù)的首地址放在中斷入口處.
中斷發(fā)生后,系統(tǒng)調(diào)用用戶中斷函數(shù).
voidBSP_IntPrioSet(CPU_DATAint_id,
CPU_INT08Uprio)//設(shè)置中斷優(yōu)先級(jí)

實(shí)例說明如何用上面的函數(shù):
在app_vect-v5.c中編寫串口1中斷服務(wù)函數(shù):static voidBSP_IntHandlerUSART1 (void)

執(zhí)行以下三個(gè)函數(shù)完成串口1中斷配置:
BSP_IntVectSet(BSP_INT_ID_USART1, BSP_IntHandlerUSART1);
BSP_IntPrioSet(BSP_INT_ID_USART1,1);
BSP_IntEn(BSP_INT_ID_USART1);

使用uC/OS編寫中斷函數(shù)和使用STM32硬件函數(shù)庫(kù)編寫中斷函數(shù)是不同的,個(gè)人推薦使用uC/OS提供的函數(shù)編寫中斷。


評(píng)論


技術(shù)專區(qū)

關(guān)閉