gjchen 发表于 2014-11-30 21:18:35

DSP f2812的外部中断XINT1问题(刚学,多包涵)

为什么进不了中断,还请前辈指点一二。最好能讲讲三级中断。

/*****************头文件********************/
#include "DSP281x_Device.h"
#include "System.h"

void Init_LED()
{
        EALLOW;
        GpioMuxRegs.GPADIR.bit.GPIOA0 = 1;
        EDIS;
        GpioDataRegs.GPADAT.bit.GPIOA0 = 0;
}

void Inin_XINT1()
{
        EALLOW;
        GpioMuxRegs.GPEMUX.bit.XINT1_XBIO_GPIOE0 =1;                //配置复用引脚
        PieCtrlRegs.PIEIER1.bit.INTx4 = 1;
        PieVectTable.XINT1 = &XINT1_ISR;       
        XIntruptRegs.XINT1CR.bit.POLARITY= 0;                                //配置外部中断为上升沿触发
        XIntruptRegs.XINT1CR.bit.ENABLE = 1;                                //使能外部中断
//        PieVectTable.PIE4_RESERVED

        EDIS;
        IER|= M_INT1;
        EINT;
}

void main()
{
        InitSysCtrl();// 系统初始化子程序,在DSP28_sysctrl.c中
        Init_LED();                //使能A0为LED控制端口
        Inin_XINT1();
        while(1);
}

中断程序
interrupt voidXINT1_ISR(void)
{
// Insert ISR Code here

// To receive more interrupts from this PIE group, acknowledge this interrupt
// PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
   //asm ("      ESTOP0");
   //for(;;);
        GpioDataRegs.GPATOGGLE.bit.GPIOA0 = 1;
//        PieCtrl.PIEACK.all=0xffff;                                                //清除PIE中断应答位
        PieCtrlRegs.PIEACK.all = 0xffff;
               
}   

gjchen 发表于 2014-12-10 22:36:35

为什么没人回答?
页: [1]
查看完整版本: DSP f2812的外部中断XINT1问题(刚学,多包涵)