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.

TMS320F28388D: 无法在cpu1的epwm中断里面,嵌套cpu1的ipc中断(CMTOCPUx IPCINTR0)

Part Number: TMS320F28388D

参照例程1、interrupt\interrupt_ex3_sw_prioritization.c

2、ipc_ex1_basic_c28x1.c

3、ipc_ex1_basic_cm.c

无法在epwm中断里面,嵌套来自M4触发的ipc中断

  • EPWM的中断嵌套设置:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    __interrupt void epwm1ISR(void)
    {
    //
    // Save IER register on stack
    //
    volatile uint16_t tempPIEIER = HWREGH(PIECTRL_BASE + PIE_O_IER3);
    //
    // Set the global and group priority to allow CPU interrupts
    // with higher priority
    IER |= M_INT3;
    IER &= MINT3;
    HWREGH(PIECTRL_BASE + PIE_O_IER3) &= MG3_1;
    //
    // Clear INT flag for this timer
    //
    EPWM_clearEventTriggerInterruptFlag(EPWM1_BASE);
    //
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 中断嵌套的宏定义:

    全局:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #define INT1PL 0 // Global Priority for Group1 Interrupts
    #define INT2PL 0 // Global Priority for Group2 Interrupts
    #define INT3PL 16 // Global Priority for Group3
    #define INT4PL 0 // Global Priority for Group4 Interrupts
    #define INT5PL 0 // Global Priority for Group5 Interrupts
    #define INT6PL 0 // Global Priority for Group6
    #define INT7PL 0 // Global Priority for Group7 Interrupts
    #define INT8PL 0 // Global Priority for Group8 Interrupts
    #define INT9PL 0 // Global Priority for Group9
    #define INT10PL 0 // Global Priority for Group10 Interrupts
    #define INT11PL 1 // Global Priority for Group11 Interrupts
    #define INT12PL 0 // Global Priority for Grou
    #define INT13PL 0 // Global Priority for INT13 (TINT1)
    #define INT14PL 0 // Global Priority for INT14 (TINT2)
    #define INT15PL 0 // Global Priority for DATALOG
    #define INT16PL 0 // Global Priority for RTOSINT
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    组:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #define G3_1PL 1 // EPWM1_INT
    #define G3_2PL 0 // EPWM2_INT
    #define G3_3PL 0 // EPWM3_INT
    #define G3_4PL 0 // EPWM4_INT
    #define G3_5PL 0 // EPWM5_INT
    #define G3_6PL 0 // EPWM6_INT
    #define G3_7PL 0 // EPWM7_INT
    #define G3_8PL 0 // EPWM8_INT
    #define G3_9PL 0 // EPWM9_INT
    #define G3_10PL 0 // EPWM10_INT
    #define G3_11PL 0 // EPWM11_INT
    #define G3_12PL 0 // EPWM12_INT
    #define G3_13PL 0 // EPWM13_INT
    #define G3_14PL 0 // EPWM14_INT
    #define G3_15PL 0 // EPWM15_INT
    #define G3_16PL 0 // EPWM16_INT
    #define G11_1PL 0 // CLA1_1_INT
    #define G11_2PL 0 // CLA1_2_INT
    #define G11_3PL 0 // CLA1_3_INT
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 好的,感谢您的帮助!