This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748的中断使用



工程中使用两个中断,分别是4ms和20ms触发一次,两个中断分别映射到中断4和中断5,但现在的问题是程序可以进入中断4的服务程序,中断5的服务程序进不去,请工程师指点

中断初始化配置如下:

void InterruptInit(void)
{
    // 初始化 DSP 中断控制器
    IntDSPINTCInit();

    IntGlobalEnable();

    GPIOIntTypeSet(SOC_GPIO_0_REGS, 8, 1);//设置0[7]为下降沿触发
    GPIOIntTypeSet(SOC_GPIO_0_REGS, 61, 1);//设置3[12]为下降沿触发


    // 使能 GPIO BANK 中断
    GPIOBankIntEnable(SOC_GPIO_0_REGS, 0);                  // USER0 KEY GPIO0
    GPIOBankIntEnable(SOC_GPIO_0_REGS, 3);


    IntEventMap(C674X_MASK_INT4,SYS_INT_GPIO_B0INT);//bank0对应中断号为65
    IntEventMap(C674X_MASK_INT5,SYS_INT_GPIO_B3INT);//bank3对应中断号为52

    // 使能中断
    IntEnable(C674X_MASK_INT4);
    IntEnable(C674X_MASK_INT5);
        
    // 注册中断服务函数
    IntRegister(C674X_MASK_INT4, Irq04_compute_freq_word);
    IntRegister(C674X_MASK_INT5, Irq05_navdata_gen);
}

  • 代码上看不出错误,你可以先把中断4关掉,单独调试一下中断5,看中断5是否能够工作

  • 嗯,按照你说的,我单独调试一下中断5,我在服务程序中加入断点,每次都是可以进去的,但现在有一个问题:我全速调试,在程序中定义一个全局变量,让他每一次进中断就自增,我在watch窗口看那个变量,变量增加到几次之后就不变啦,此时停止debug,出现下图提示,不知道这是什么问题??