#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);//一直等待中断
}