STM32+IAR+uC/OS环境下怎样写中断程序
先说说,几个关键函数:
bsp_int.c提供几个关键的中断操作函数:
void BSP_IntDis (CPU_DATA int_id) //关闭指定中断
void BSP_IntDisAll (void) //关闭所有中断
void BSP_IntEn (CPU_DATA int_id) //使能指定中断
void BSP_IntVectSet (CPU_DATA int_id,
CPU_FNCT_VOID isr) //用这个函数把用户编写的中断函数的首地址放在中断入口处.
中断发生后,系统调用用户中断函数.
void BSP_IntPrioSet (CPU_DATA int_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提供的函数编写中断。
bsp_int.c提供几个关键的中断操作函数:
void
void
void
void
CPU_FNCT_VOID
中断发生后,系统调用用户中断函数.
void
CPU_INT08U
实例说明如何用上面的函数:
在app_vect-v5.c中编写串口1中断服务函数:static 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提供的函数编写中断。
关键词: STM32IARuCOS环境中断程

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码