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.

[参考译文] TMS320F2.8055万:中断并非总是在它应该触发时触发

Guru**** 2024750 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/573672/tms320f28055-interrupts-are-not-always-triggered-when-it-supposed-to

部件号:TMS320F2.8055万

您好,TI成员:

 我正在发送相同的命令来触发我的中断ISR。 但我的中断ISR并不总是被触发。

我必须发送3-4次,直到ISR能够捕获中断。

我希望我的中断ISR能够在每次发送命令时捕获下降边缘。  

我该怎么做? 什么会导致我的问题? 请帮助,谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以下是我的中断设置:

    EALLOW;	
    PieVectorTable.XINT3 =&xint3CS_ISR;
    EDIS;
    
    EALLOW;
    PieCtrlRegs.PIEIER12.bit.INTx1 = 1; //启用PIE组12 INT1
    IER |= M_INT12; //启用CPU INT12
    EINT;
    
    
    EALLOW;
    
    //GPIO10是输入XINT3 - CS
    GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; //启用GPIO10
    GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0; // GPIO10
    GpioCtrlRegs.GPAQSEL1.bit.GPIO10 = 3;	//异步输入
    
    EDIS;
    
    // GPIO10是XINT3
    EALLOW;
    GpioIntRegs.GPIOXINT3sel.bit.GPIOSEL = 10;// XINT3是GPIO10
    EDIS;
    
    //配置XINX.INTX.XINSEL.
    //下降边缘中断
    
    //启用XINT3
    XIntruptRegs.XINT3CR.bit.enable =1; //启用XINT3
    
    中断void xint3CS_ISR(void)
    {
    	Xint3CS_Count+;
    	PieCtrlRegs.PIEACK.ALL = PIEACK_GROUP12;
    } 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Qiang,

    您是否测量了从外部驱动的GPIO信号的脉冲宽度。 这是否始终相同(在工作和非工作案例中)?

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从示波器图中,每次接收时,它都具有相同的脉冲宽度
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Vivek,
    问题已解决,我的外部信号源出现问题。 感谢您的帮助!