2812中断程序模板

/****************************************************************************
*
*$ Date: 24/10/2009 整理: eyes417 版本:V1.0 $
*
*FILE :281x_interrupt.c
*
*TITLE:2812中断函数写法,格式I
*
*说 明:格式I---写在main的源文件中
*
****************************************************************************/
1).先定义中断函数,再给相应的PIE中断赋地址。写在在main.c中

interrupt void eva_timer1_isr(void);//中断函数声明

void main(void)
{

InitSysCtrl();

//禁止和清除所有CPU中断
DINT;

IER = 0x0000;

IFR = 0x0000;

InitPieCtrl();//初始化PIE控制寄存器

InitPieVectTable();//初始化PIE中断向量表

// 赋予地址,中断发生时,自动跳转
EALLOW;
PieVectTable.T1PINT = &eva_timer1_isr;
EDIS;

// InitPeripherals(); //初始化所有外设
init_eva_timer1();


//使能PIE中断INT2.4(T1PINT中断)
PieCtrlRegs.PIEIER2.all = M_INT4;
IER |= M_INT2//开CPU中断

EINT; // Enable Global interrupt INTM

ERTM;// Enable Global realtime interrupt DBGM

for(;;);

}

//EV-A定时器1中断服务函数
interrupt void eva_timer1_isr(void)
{
.........//中断内容

//清除定时器标志位
EvaRegs.EVAIMRA.bit.T1PINT = 1;

EvaRegs.EVAIFRA.all = BIT7;//BIT7---0x0080

PieCtrlRegs.PIEACK.all = PIEACK_GROUP2;
}


/****************************************************************************
*
*$ Date: 24/10/2009 整理: eyes417 版本:V1.0 $
*
*FILE :281x_interrupt.c
*
*TITLE:2812中断函数写法,格式II
*
*说 明:格式II---分模块式写法,写在TI-281x模板中的DSP281x_DefaultIsr.c
*
****************************************************************************/

2).写在DSP281x_DefaultIsr.c中。

void main(void)
{

InitSysCtrl();

//禁止和清除所有CPU中断

DINT;

IER = 0x0000;
IFR = 0x0000;

InitPieCtrl();//初始化PIE控制寄存器

IInitPieVectTable();//初始化PIE中断向量表

// InitPeripherals(); //初始化所有外设
init_eva_timer1();


//使能PIE中断INT2.4(T1PINT中断)
PieCtrlRegs.PIEIER2.all = M_INT4;
IER |= M_INT2//开CPU中断

EINT; // Enable Global interrupt INTM

ERTM; // Enable Global realtime interrupt DBGM

for(;;);

}

在DSP281x_DefaultIsr.c中

interrupt void T1PINT_ISR(void)

{

...........

EvaRegs.EVAIMRA.bit.T1PINT = 1;//中断屏蔽位

EvaRegs.EVAIFRA.bit.T1PINT=1; //清除中断标志位

PieCtrlRegs.PIEACK.bit.ACK2=1;//响应同组中断

EINT; //开全局中断

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值