基于f2812的中断系统程序分析

基于f2812的中断系统程序分析

ID:34127859

大小:47.50 KB

页数:3页

时间:2019-03-03

基于f2812的中断系统程序分析_第1页
基于f2812的中断系统程序分析_第2页
基于f2812的中断系统程序分析_第3页
资源描述:

《基于f2812的中断系统程序分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于F2812的中断系统程序分析1F2812中断的编程控制1.1F2812中断处理过程整个中断处理过程可分为三个阶段:第一阶段,接收中断请求:当有中断源发出中断申请后,F2812在处理完必要的指令后会立即对中断申请进行响应。第二阶段,响应中断:F2812接收中断申请后,要对中断源进行识别。如果是可屏蔽中断,首先要检查中断源对应的屏蔽位是否屏蔽了该中断;对于外设复用的中断,接着要检查PIE模块对应的屏蔽位是否被屏蔽(PIEIER寄存器),响应标志位是否被清除(PIEACK寄存器);最后还要检查该中断对应的CPU级中断是否被屏蔽了(IMR寄存器),F2812是否开放了可屏蔽中断(INTM=0?)。

2、如果是NMI(不可屏蔽中断)或是软件中断,则F2812立即进行响应。第三阶段,执行中断服务程序:中断响应后,F2812根据中断向量表取出中断服务程序(ISR)的入口地址,然后转入ISR中执行。可以看到,一个外设复用的中断有五个开关控制:外设本身的中断使能控制位、对应的PIE中断使能控制位、PIEACK响应控制位、IMR寄存器中的使能位和总的使能控制位。1.2外设复用中断的编程控制下面以事件管理器EVA中定时器1的周期中断TIPINT(对应的PIE级中断向量是INT2.4)为例,说明用C语言对外设复用中断的编程控制。参考程序如下:#include"DSP28_Device.h"voidmain(

3、void){InitSysCtrl();/*初始化系统*/DINT;/*屏蔽全局中断(INTM=1)*/IER=0x0000;/*禁止所有的CPU级中断*/IFR=0x0000;/*清除CPU级中断标志位*/PieCtrl.PIEIER2.bit.INTx4=1;/*使能PIE级中断(PIEIER2.4=1)*/PieCtrl.PIEIFR2.bit.INTx4=0;/*清除PIE级中断标志位(PIEIFR2.4=0)*/PieCtrl.PIECRTL.bit.ENPIE=1;/*使能PIE*/PieCtrl.PIEACK.all=0xFFFF;/*清除PIE中断响应标志位*/InitPieV

4、ectTable();/*初始化中断向量表*/EALLOW;/*设置EALLOW位,允许调整PIE向量表*/PieVectTable.T1PINT=&Eva_Timer1_Isr;/*调整PIE向量表*/EDIS;/*清除EALLOW位,禁止调整PIE向量表*/InitEv();/*初始化定时器Timer1,设置周期*/EvaRegs.EVAIMRA.bit.T1PINT=1;/*使能外设级中断*/EvaRegs.EVAIFRA.bit.T1PINT=1;/*清除外设级中断标志位*/IER

5、=M_INT2;/*使能CPU级中断*/EINT;/*使能全局中断(INTM=0)*/ERTM;/*使能

6、中断调试寄存器DBGM*/EvaRegs.T1CON.bit.TENABLE=1;/*启动Timer1*/for(;;);/*等待中断*/}interruptvoidEva_Timer1_Isr(void)/*中断服务程序*/{.……/*执行相应的中断操作*/EvaRegs.EVAIFRA.bit.T1PINT=1;/*清除TIPINT的中断标志*/PieCtrl.PIEACK.bit.ACK2=1;/*清除相应中断组的PIEACKx寄存器位*/EINT;/*开中断*/}注意事项:(1)F2812响应中断后,CPU级中断标志寄存器(IFR)中对应的中断标志会自动清除,程序员在初始化IFR后不要

7、再干预它。(2)不要清除PIE级中断标志寄存器(PIEIFR)的中断标志位,否则有可能丢失产生的中断。(1)外设级中断标志寄存器的中断标志位不会自动清除,程序员必须在中断服务程序中采用软件来进行清除。(2)当PIE的中断请求被送到CPU后,PIE相应的响应寄存器位(PIEACKx)被置1,并且保持不变,所以程序员要在中断服务程序中将PIEACKx置0,PIE模块的该组才能再向CPU申请中断。(3)F2812在响应中断后会自动将INTM置为1(除TRAP中断),所以程序员要在中断服务程序中将INTM置为0,以开放可屏蔽中断。(4)系统中PIE向量表用来存放每个中断服务程序的地址,在系统初始化时,

8、需要定位中断向量表,在操作过程中也可对中断向量表的位置进行调整(见参考程序)。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。