欢迎来到天天文库
浏览记录
ID:48466885
大小:113.00 KB
页数:9页
时间:2020-01-18
《飞思卡尔后背资料7.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HCS12中断默认状态:在进入中断服务程序时,I位自动置1,禁止其他可屏蔽中断即使有优先级更高的中断请求,也必须等当前中断服务程序执行完以后才能响应优先级的作用只有在多个中断源同时请求中断时在能体现无法实现中断嵌套如果在进入中断服务程序时,手动对I位清零:任何其他可屏蔽中断都可以被响应,无论其优先级有多高中断响应由时间控制,可以实现中断嵌套对中断执行无法预测HPRIO寄存器写入HPRIO中的中断向量的后八位,可以改变该中断的优先级同样,优先级的作用只有在多个中断源同时请求中断时在能体现HCS12默认中断处理机制运行运行运行等待运行等待
2、中断A中断B程序低优先级高优先级中断A请求中断B请求等待人人平等在可屏蔽中断服务程序中EnableInterrupts运行运行运行等待运行运行等待中断A中断B程序低优先级高优先级中断B请求中断B被挂起中断A请求长幼不分采用中断优先处理机制运行运行等待运行运行等待中断A中断B程序低优先级高优先级中断A请求中断B请求中断B返回运行等级森严中断优先处理机制在中断服务程序中,首先对I为清零,即EnableInterrupts选择优先级更高的中断源可以进入响应中断设置优先等级两级一个中断源为低优先级,其他为高优先级在低优先级中断服务程序中,对I
3、位清零在高优先级中断服务程序中,不清零多级利用局部的中断屏蔽位比如TimerChannel0的中断屏蔽位TIE_C0I优先机制-两级例如:中断向量地址$FFF0–FFF1为低优先级其他的中断为高优先级在$FFF0–FFF1中断服务程序中,EnableInterrupts(I位清零)其他的中断包括自己都可以在中断服务程序执行时,被响应在其他的中断服务程序中,I位不清零(默认)只有当前中断服务程序执行完后,才能响应其他的中断请求当同时有多个中断源请求中断时,中断向量地址最靠近$FFFF的,将会首先被响应优先机制–多级自定义优先级中断向量地
4、址中断源CCR屏蔽位局部屏蔽位HPRIO1中$FFEE,$FFEFECT通道0ITIE_C0I$EE0低$FFEC,$FFEDECT通道1ITIE_C1I$EC2高$FFEA,$FFEBECT通道2ITIE_C2I$EA要求:在低优先级的中断服务程序中,高优先级的中断请求可以被响应HPRIO=0xEA:ECT0,1,2同时请求中断时,CPU将会首先响应通道2默认时,CPU将会首先响应通道0优先机制–多级情况1:每个中断都单独发生,在一个中断程序执行时,没有其他中断情况2:在执行ECT1的中断服务程序时,ECT0请求中断ECT0中断服务
5、程序将被执行情况3:在执行ECT2的中断服务程序时,ECT0请求中断ECT2的中断服务程序执行结束后,执行ECT0的中断服务程序情况4:ECT1,ECT2同时请求中断ECT1的中断服务程序先执行,当EnableInterrupts后执行ECT2的中断服务程序ECT2的中断服务程序执行结束后,返回执行ECT1的中断服务程序方案:优先机制–多级在ECT0中断服务程序中:在ECT1中断服务程序中(自定义优先级最低):在ECT2中断服务程序中(自定义优先级最高):用户程序TIE_C1I=0;//关闭ECT1局部中断TIE_C2I=1;//开放
6、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局部中断
此文档下载收益归作者所有