- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MB9BF618外部中断说明
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
文档评论(0)