STM32+IAR+uC/OS环境下怎样写中断程序
时间:11-21
来源:互联网
点击:
先说说,几个关键函数:
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环境中断程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)