DSP28x定时器中断设置步骤

DSP28x定时器中断设置步骤

ID:38065097

大小:14.86 KB

页数:3页

时间:2019-05-28

DSP28x定时器中断设置步骤_第1页
DSP28x定时器中断设置步骤_第2页
DSP28x定时器中断设置步骤_第3页
资源描述:

《DSP28x定时器中断设置步骤》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DSP28Xcpu定时器设置步骤1.确定中断向量的入口地址:EALLOW;PieVectTable.TINT0=&cpu_timer0_isr;PieVectTable.TINT1=&cpu_timer1_isr;PieVectTable.TINT2=&cpu_timer2_isr;EDIS;其中,cpu_timer0_isr函数是针对TINT0中断向量的一个中断服务函数,&cpu_timer0_isr()是该函数的入口地址。2.使能PIE级及CPU级中断向量:这个步骤由下面4类指令完成:(1)先找出TINT0中断向量在PIE级向量表中所在组,及在这组中所处的优先级

2、。例如差的TINT0向量位于PIE向量表中第一组的第7个中断。则指令语句为:PieCtrlRegs.PIEIER1.bit.INTx7=1;//使能PIE中的TINT0,第一组第7个中断(2)通过CPU级的赋值指令使能第一组INT1。IER

3、=M_INT1;//使能CPU级INT1中断,CPU—Timer0链接到INT1中断上。(3)通过以下指令EINT;//使能全局中断INTMERTM;//使能全局实时中断DBGM(4)使能PIE向量表,由下面一条指令完成:PieCtrlRegs.PIECRTL.bit.ENPIE=1;3.中断服务函数中必须包含的指令:PieCt

4、rlRegs.PIEACK.all=PIEACK_GROUP1;//PIEACK_GROUP1=0x00014.准备做好后,便开始设置中断请求周期直接调用CPU定时器配置函数ConfigCpuTimer(structCPUTIMER_VARS*Timer,floatFreq,floaPeriod)CinfigCpuTimer(&CpuTimer0,10,100);//中断请求周期为16.67us5.启动定时器中断CpuTimer0Regs.TCR.all=0x4000;CpuTimer0Regs.TCR.bit.TSS=0;6.在终端服务函数中写所需指令要求:Int

5、erruptvoidcpu_timer0_isr(void){……PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;}7.实用例程:以1秒的中断周期,将GPIO0口进行点位翻转,即产生频率为1HZ的方波。#include"DSP2802x_Device.h"#include"DSP2802x_GlobalPrototypes.h"interruptvoidcpu_timer0_isr(void);voidgpio_setup(void);intmain(void){InitSysCtrl();DINT;IER=0X0000;IFR=0X000

6、0;InitPieCtrl();InitPieVectTable();gpio_setup();//**********************************************************************InitCpuTimers();MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);InitFlash();EALLOW;PieVectTable.TINT0=&cpu_timer0_isr;EDIS;PieCtrlRegs.PIEIER1.bit.INTx

7、7=1;IER

8、=M_INT1;EINT;ERTM;PieCtrlRegs.PIECTRL.bit.ENPIE=1;ConfigCpuTimer(&CpuTimer0,60,1000000);CpuTimer0Regs.TCR.all=0x4000;CpuTimer0Regs.TCR.bit.TSS=0;//**********************************************************************GpioDataRegs.GPASET.bit.GPIO0=1;GpioDataRegs.GPASET.bit.GPIO1

9、=1;GpioDataRegs.GPASET.bit.GPIO2=1;GpioDataRegs.GPASET.bit.GPIO3=1;while(1){;}}interruptvoidcpu_timer0_isr(void){CpuTimer0.InterruptCount++;GpioDataRegs.GPATOGGLE.bit.GPIO0=1;GpioDataRegs.GPATOGGLE.bit.GPIO1=1;GpioDataRegs.GPATOGGLE.bit.GPIO2=1;GpioDataRegs.GPATOGGLE.bit.GPIO3=1;PieC

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

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

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