飞思卡尔hc12系列中断模块讲解

上传人:wt****50 文档编号:37835367 上传时间:2018-04-23 格式:PDF 页数:9 大小:43.47KB
返回 下载 相关 举报
飞思卡尔hc12系列中断模块讲解_第1页
第1页 / 共9页
飞思卡尔hc12系列中断模块讲解_第2页
第2页 / 共9页
飞思卡尔hc12系列中断模块讲解_第3页
第3页 / 共9页
飞思卡尔hc12系列中断模块讲解_第4页
第4页 / 共9页
飞思卡尔hc12系列中断模块讲解_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《飞思卡尔hc12系列中断模块讲解》由会员分享,可在线阅读,更多相关《飞思卡尔hc12系列中断模块讲解(9页珍藏版)》请在金锄头文库上搜索。

1、HCS12中断 默认状态默认状态默认状态默认状态: 在进入中断服务程序时在进入中断服务程序时在进入中断服务程序时在进入中断服务程序时,I位自动置位自动置位自动置位自动置1,禁止其他可屏蔽中断禁止其他可屏蔽中断禁止其他可屏蔽中断禁止其他可屏蔽中断 即使有优先级更高的中断请求即使有优先级更高的中断请求即使有优先级更高的中断请求即使有优先级更高的中断请求,也必须等当前中断服务程序执行完以后才也必须等当前中断服务程序执行完以后才也必须等当前中断服务程序执行完以后才也必须等当前中断服务程序执行完以后才 能响应能响应能响应能响应 优先级的作用只有在多个中断源同时请求中断时在能体现优先级的作用只有在多个中断

2、源同时请求中断时在能体现优先级的作用只有在多个中断源同时请求中断时在能体现优先级的作用只有在多个中断源同时请求中断时在能体现 无法实现中断嵌套无法实现中断嵌套无法实现中断嵌套无法实现中断嵌套 如果在进入中断服务程序时如果在进入中断服务程序时如果在进入中断服务程序时如果在进入中断服务程序时,手动对手动对手动对手动对I位清零位清零位清零位清零: 任何其他可屏蔽中断都可以被响应任何其他可屏蔽中断都可以被响应任何其他可屏蔽中断都可以被响应任何其他可屏蔽中断都可以被响应,无论其优先级有多高无论其优先级有多高无论其优先级有多高无论其优先级有多高 中断响应由时间控制中断响应由时间控制中断响应由时间控制中断响

3、应由时间控制,可以实现中断嵌套可以实现中断嵌套可以实现中断嵌套可以实现中断嵌套 对中断执行无法预测对中断执行无法预测对中断执行无法预测对中断执行无法预测 HPRIO寄存器寄存器寄存器寄存器 写入写入写入写入HPRIO中的中断向量的后八位中的中断向量的后八位中的中断向量的后八位中的中断向量的后八位,可以改变该中断的优先级可以改变该中断的优先级可以改变该中断的优先级可以改变该中断的优先级 同样同样同样同样,优先级的作用只有在多个中断源同时请求中断时在能体现优先级的作用只有在多个中断源同时请求中断时在能体现优先级的作用只有在多个中断源同时请求中断时在能体现优先级的作用只有在多个中断源同时请求中断时在

4、能体现HCS12默认中断处理机制运运运运 行行行行运运运运 行行行行运运运运 行行行行等等等等 待待待待运运运运 行行行行等等等等 待待待待中断中断中断中断 A中断中断中断中断 B程序程序程序程序低优先级低优先级低优先级低优先级高优先级高优先级高优先级高优先级中断中断中断中断A请求请求请求请求中断中断中断中断B请求请求请求请求等等等等 待待待待人人人人 人人人人 平平平平 等等等等在可屏蔽中断服务程序中EnableInterrupts运运运运 行行行行运运运运 行行行行运运运运 行行行行等等等等待待待待运运运运 行行行行运运运运 行行行行等等等等 待待待待中断中断中断中断 A中断中断中断中断

5、B程序程序程序程序低优先级低优先级低优先级低优先级高优先级高优先级高优先级高优先级中断中断中断中断B请求请求请求请求中断中断中断中断B被挂起被挂起被挂起被挂起中断中断中断中断A请求请求请求请求 长长长长 幼幼幼幼 不不不不 分分分分采用中断优先处理机制运运运运 行行行行运运运运 行行行行等等等等待待待待运运运运 行行行行运运运运 行行行行等等等等 待待待待中断中断中断中断 A中断中断中断中断 B程序程序程序程序低优先级低优先级低优先级低优先级高优先级高优先级高优先级高优先级中断中断中断中断A请求请求请求请求中断中断中断中断B请求请求请求请求中断中断中断中断B返回返回返回返回运运运运 行行行行等

6、等等等 级级级级 森森森森 严严严严中断优先处理机制1.在中断服务程序中,首先对I为清零,即EnableInterrupts2.选择优先级更高的中断源可以进入响应中断3.设置优先等级 两级 一个中断源为低优先级,其他为高优先级 在低优先级中断服务程序中,对I位清零在高优先级中断服务程序中,不清零 多级 利用局部的中断屏蔽位 比如Timer Channel0 的中断屏蔽位 TIE_C0I优先机制 - 两级例如: 中断向量地址 $FFF0 FFF1 为低优先级 其他的中断为高优先级 在$FFF0 FFF1 中断服务程序中,EnableInterrupts(I位清零) 其他的中断包括自己都可以在中断

7、服务程序执行时,被响应 在其他的中断服务程序中,I位不清零(默认) 只有当前中断服务程序执行完后,才能响应其他的中断请求当同时有多个中断源请求中断时当同时有多个中断源请求中断时当同时有多个中断源请求中断时当同时有多个中断源请求中断时,中断向量地址最靠近中断向量地址最靠近中断向量地址最靠近中断向量地址最靠近 $FFFF的的的的,将会首先被响应将会首先被响应将会首先被响应将会首先被响应优先机制 多级$EATIE_C2IIECT 通道2$FFEA, $FFEB2高$ECTIE_C1IIECT 通道1$FFEC, $FFED0 低$EETIE_C0IIECT 通道0$FFEE, $FFEF1中HPRI

8、O局部屏蔽位CCR屏蔽位中断源中断向量地 址自定义优先级要求要求要求要求: 在低优先级的中断服务程序中在低优先级的中断服务程序中在低优先级的中断服务程序中在低优先级的中断服务程序中,高优先级的中断请求可以被响应高优先级的中断请求可以被响应高优先级的中断请求可以被响应高优先级的中断请求可以被响应HPRIO = 0xEA: ECT0,1,2同时请求中断时,CPU将会首先响应通道2默认时, CPU将会首先响应通道0优先机制 多级 情况 1: 每个中断都单独发生,在一个中断程序执行时,没有其他中断 情况 2: 在执行ECT1的中断服务程序时,ECT0请求中断 ECT0中断服务程序将被执行 情况 3:

9、在执行ECT2的中断服务程序时,ECT0请求中断 ECT2的中断服务程序执行结束后,执行ECT0的中断服务程序 情况 4: ECT1,ECT2同时请求中断 ECT1的中断服务程序先执行,当EnableInterrupts后 执行ECT2的中断服务程序 ECT2的中断服务程序执行结束后,返回执行ECT1的中断服务程序方案:优先机制 多级 在ECT0中断服务程序中: 在ECT1中断服务程序中(自定义优先级最低): 在ECT2中断服务程序中(自定义优先级最高): 用户程序TIE_C1I = 0; /关闭ECT1局部中断 TIE_C2I = 1; /开放ECT2局部中断 EnableInterrupts; /开放全局中断 TIE_C1I = 1; /开放ECT1局部中断 TIE_C2I = 1; /开放ECT2局部中断TIE_C0I = 1; /开放ECT0局部中断 TIE_C2I = 1; /开放ECT2局部中断 EnableInterrupts; /开放全局中断 TIE_C0I = 1; /开放ECT0局部中断 TIE_C2I = 1; /开放ECT2局部中断

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号