打印

DSP2812入学习进程(5)外部中断的执行及问题解决

[复制链接]
3872|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梅花望青竹|  楼主 | 2012-3-20 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Xint1.zip (731.08 KB)
#include "inc/DSP28_Device.h"
#include "inc/DSP28_GlobalPrototypes.h"
unsigned  int  *Led  = (unsigned int *)0x4100;
unsigned int ct;
void delay()
{
unsigned int i;
for(i=0;i<2000;i++);
}
interrupt void xint1_handler()
{
ct++;
if(ct%2)
*Led=0xff;
else
*Led=0x00;
delay();

PieCtrl.PIEACK.all=0xffff;
}
void main(void)
{
InitSysCtrl();
DINT;
InitPieCtrl();
InitPieVectTable();

EALLOW;
GpioMuxRegs.GPEMUX.bit.XINT1_XBIO_GPIOE0=1;
XIntruptRegs.XINT1CR.bit.ENABLE=1;
XIntruptRegs.XINT1CR.bit.POLARITY=0;
PieVectTable.XINT1=&xint1_handler;
PieCtrl.PIEIER1.bit.INTx4=1;
PieCtrl.PIECRTL.bit.ENPIE=1;
EDIS;
*Led=0xff;
delay();
*Led=0x00;

IER |= M_INT1;

EINT;

while(1);

}

外部中断1的操作与中断13的操作有所不一样,我们使用外部中断1的时候应该打开PIE寄存器,这样才能够使中断执行。

相关帖子

沙发
lirfv| | 2012-3-20 20:59 | 只看该作者
嗯 ,不错 ,
感谢楼主分享                     好好东西

楼主辛苦

使用特权

评论回复
板凳
gaochy1126| | 2012-3-21 09:57 | 只看该作者
感谢分享,希望楼主能够分享更详细的资料!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

2589

帖子

7

粉丝