UCOS环境下的中断程序


BSP_IntVectSet(BSP_INT_ID_USART1, RFID_RxTxISRHandler); //设置中断号 与中断函数 名称相匹配。
BSP_IntEn(BSP_INT_ID_USART1); //使能 中断号的中断
RFID_RxIntEn (); //开启接收中断
以下转自:http://www.embeded0.com/system/ucos/1344.html
【UCOS环境下的中断程序】

先说说,几个关键函数:
bsp_int.c提供几个关键的中断操作函数:
void BSP_IntDis(CPU_DATA int_id)//关闭指定中断
void BSP_IntDisAll(void)//关闭所有中断
voidBSP_IntEn(CPU_DATA int_id)//使能指定中断
voidBSP_IntVectSet(CPU_DATAint_id,
CPU_FNCT_VOIDisr) //用这个函数把用户编写的中断函数的首地址放在中断入口处.
中断发生后,系统调用用户中断函数.
voidBSP_IntPrioSet (CPU_DATAint_id,
CPU_INT08U prio)//设置中断优先级

实例说明如何用上面的函数:
在app_vect-v5.c中编写串口1中断服务函数:static void BSP_IntHandlerUSART1(void)

执行以下三个函数完成串口1中断配置:
BSP_IntVectSet(BSP_INT_ID_USART1,BSP_IntHandlerUSART1);
BSP_IntPrioSet(BSP_INT_ID_USART1,1);
BSP_IntEn(BSP_INT_ID_USART1);

使用uC/OS编写中断函数和使用STM32硬件函数库编写中断函数是不同的,个人推荐使用uC/OS提供的函数编写中断。

    推荐阅读