2808定时器中断

#include "DSP280x_Device.h"
#include "DSP280x_Examples.h"
//定时器中断报务程序
interrupt void fuwu_timer0(void)
{
 GpioDataRegs.GPATOGGLE.all=0xffff;//将GPIO状态反转
  PieCtrlRegs.PIEACK.bit.ACK1=1;//清除中断位可响应其它中断
}
//定时器0初始化函数
void init_timer0(void)
{
 InitSysCtrl();//初始化系统时钟看门狗等系统资源
 InitPieCtrl();//初始化系统中断向量表
 DINT;//禁止所有CPU中断
 IER=0x0000;//禁止所有CPU中断
 IFR=0x0000;//清除所有CPU中断标志
 InitCpuTimers();//初始化定时器
 ConfigCpuTimer(&CpuTimer0, 100,1000000);//初始化定时器0工作频率100MHZ计时为1S
 PieCtrlRegs.PIECTRL.bit.ENPIE=1;
 PieCtrlRegs.PIEIER1.bit.INTx7=1;
 EALLOW;//寄存器保护
 PieVectTable.TINT0=&fuwu_timer0;//定时器中断向量的服务程序地址
 EDIS;//取消寄存器保护
 IER=0x0001;//定时器0所在中断区为1区
 EINT;//开所有CPU中断
 StartCpuTimer0();//启动定时器0
}
//GPIO初始化函数
void init_gpio(void)
{
 EALLOW;
 GpioCtrlRegs.GPAMUX1.all=0x0000;//将端口设定为GPIO
 GpioCtrlRegs.GPADIR.all=0xffff;//将GPIO设定为输出
 EDIS;
}
void main(void)
{
 init_timer0();
 init_gpio();
 GpioDataRegs.GPASET.all=0xffff;//将GPIO置位
 while(1);//一直等待中断
}

原文地址:https://www.cnblogs.com/luxiaolai/p/2863366.html