TI中文支持网
TI专业的中文技术问题搜集分享网站

C6747裸机的中断问题

工程中使用两个中断,分别使用GP2[13]和GP4[14],但现在一直不能进入中断,不知道是不是配置问题,望指点?????

中断配置如下:

void initExint(void)
{
    CSR&=0xfffe;                           //关中断
    asm(" NOP 2 ");

    GPIO_INSTAT23=0xFFFFFFFF;              //清除第2 3 BANK的中断标志位
    GPIO_INSTAT45=0xFFFFFFFF;              //清除第4 BANK的中断标志位
    GPIO_BINTEN=0x14;                      //使能GPIO BANK 2  4外部中断功能

    GPIO_CLR_RIS_TRIG23=0x00002000;        //关闭上升沿中断GPIO2[13]
    GPIO_SET_FAL_TRIG23=0x00002000;        //设置下降沿中断
    GPIO_CLR_RIS_TRIG45=0x00004000;        //关闭上升沿中断GPIO4[14]
    GPIO_SET_FAL_TRIG45=0x00004000;        //设置下降沿中断

    INTmux1=0x3631;                      //映射GPIO口事件到CPU中断
    asm(" NOP 2 ");                        // 关中断 GIE=0
    ISTP=0x80000000;                       // 重置中断向量表到0C00h
    asm(" NOP 2 ");
    ICR=0xFFFF;
    asm(" NOP 2 ");
    ISR=0x0;                               // 清除等待的中断
    asm(" NOP 2 ");
    IER=0xffff;

}

中断服务程序:

void interrupt Ex2INT()
{
    asm("  DINT  ");                        //CSR&=0xfffe;  //关中断
    asm(" NOP 2 ");

   if(GPIO_INSTAT23 & 0x00002000)          // 清除中断标志GPIOSTA
   {
       interrupt4++;
   }

    GPIO_INSTAT23=0xffffffff;
    asm(" NOP 2 ");
    asm("  RINT  ");                      //    CSR=CSR|0x1;     // 开中断
}

jie tian2:

回复 Shine:

谢谢工程师,问题找到啦,在主函数中没有打开总中断CSR=CSR|1;

而且一定要注意中断服务程序的入口地址一定要和CMD文件匹配;

Shine:

回复 jie tian2:

谢谢分享!

赞(0)
未经允许不得转载:TI中文支持网 » C6747裸机的中断问题
分享到: 更多 (0)