您的位置:首页 > 其它

【DSP】TMS320F28035 定时器中断例程

2017-07-31 22:05 344 查看
#include "DSP28x_Project.h"

//extern Uint16 RamfuncsLoadStart;
//extern Uint16 RamfuncsLoadEnd;
//extern Uint16 RamfuncsRunStart;

interrupt void Cpu_Timer0_ISR(void);

int main(void)
{
InitSysCtrl();

EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO12 = 1;
GpioDataRegs.GPADAT.bit.GPIO12 = 0;
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;
GpioDataRegs.GPBDAT.bit.GPIO34 = 0;
EDIS;

DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
//     MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
//     InitFlash();

EALLOW;
PieVectTable.TINT0 = &Cpu_Timer0_ISR;
EDIS;

InitCpuTimers();
ConfigCpuTimer(&CpuTimer0,360,100000);
//360为Freq,单位Hz;100000为Period,单位us;定时时长=Freq*Period/(pll时钟,单位Hz),单位s;
StartCpuTimer0();

IER|=M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7= 1;
EINT;

while(1)
{

}
}

interrupt void Cpu_Timer0_ISR(void)
{
GpioDataRegs.GPADAT.bit.GPIO12 =~ GpioDataRegs.GPADAT.bit.GPIO12;
GpioDataRegs.GPBDAT.bit.GPIO34 =~ GpioDataRegs.GPBDAT.bit.GPIO34;

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;//写1清0,写0无效
CpuTimer0Regs.TCR.bit.TIF=1;
CpuTimer0Regs.TCR.bit.TRB=1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: