MB9BF618外部中断说明.pdf
文本预览下载声明
MB9BF618 外部中断说明
RT-Thread RTOS 技术手册
版本号:1.0.0
日期:2012.05.11
修订记录
2012.05.11 何元杰 初始文档
2012.07-05 何元杰 添加获取中断触发方式配置
MB9BF618 外部中断说明
本文档描述了MB9BF506 上外部中断在RT-Thread 操作系统上的使用情况。
1. 外部中断管理
在MB9BF618 中很多中断都是共用一个入口。为了方便使用这种共用入口的
中断,RT-Thread 目前对外部中断0 至31 作了统一管理,并提供简单的接口
供用户设置自己中断处理函数。618 的外部0 至31 中断入口定义在
drivers\fm3_ext_int_type2.c 中,如代码一所示:
代码一 MB0BF506 外部中断服务例程
void INT0_7_Handler(void)
{
/* enter interrupt */
rt_interrupt_enter();
FM3_INT_Handler();
/* leave interrupt */
rt_interrupt_leave();
}
void INT8_31_Handler(void)
{
/* enter interrupt */
rt_interrupt_enter();
FM3_INT_Handler();
/* leave interrupt */
rt_interrupt_leave();
}
其中在FM3_INT_Handler()中将执行用户注册的处理函数,且会自动清除相
关中断标志。
2. 外部中断 API 说明
2 .1. 外部中断管理机制初始化
使用前需要对这个管理机制进行初始化,需要先调用这个API:
void fm3_eint_init(void) ;
功 能:初始化外部中断管理机制
返回值:无
参 数:无
2 .2 注册中断处理函数
当用户要注册自己的中断处理函数时可以调用
void fm3_eint_install(int vector,
rt_isr_handler_t new_handler,
rt_isr_handler_t *old_handler);
功 能:注册用户的外部中断处理函数
返回值:无
参 数:vector - 外部中断号(取值0 至31)
参 数:new_handler - 用户中断处理函数
参 数:old_handler - 当更换新的处理函数时又需要获得旧处理函数,
这时可提供一个指针用于存放返回的旧处理函数;如果不需存储可以设为
RT_NULL
2 .3 配置触发方式
外部中断有4 种触发方式,低电平、高电平、上升沿、下降沿。调用下面的
函数可以配置这些参数
void fm3_eint_trigger_config(int vector,
eint_trigger_ty
显示全部