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.

求助,将F28035例程Example_2803xAdcSoc里的INT1.1改为INT10.1后进不了ADC中断



我需要降低ADC的优先级,参考F28035例程Example_2803xAdcSoc和文档TMS320F2803x Piccolo System Control and Interrupts

我现将例程原代码:PieCtrlRegs.PIEIER1.bit.INTx1 = 1;

                                   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

                    改为:   PieCtrlRegs.PIEIER10.bit.INTx1 = 1;

                                   PieCtrlRegs.PIEACK.all = PIEACK_GROUP10;

但运行后不能进入ADC中断。谢谢!

  • 每个中断都有自己的的PIEACK和INTx     这个要根据你的需要配置好

    你改了PIEACK GROUPx   不知道你改了对应中断的中断服务函数的入口地址了没?

  • 增加,原代码:IER |= M_INT1;

                    改为:IER |= M_INT10;

    此时运行进入rsvd_ISR中断。

  • 还得将DSP2803x_PieCtrl.h里的原代码:// Group 1 PIE Peripheral Vectors:
                                                                                   PINT   ADCINT1 ;                     // ADC - if Group 10 ADCINT1 is enabled, this must be rsvd1_1

                                                                             // Group 10 PIE Peripheral Vectors:
                                                                                  PINT     rsvd10_1;                    // Can be ADCINT1, but must make ADCINT1 in Group 1 space "reserved".

                                                                改为:  // Group 1 PIE Peripheral Vectors:
                                                                                   PINT     rsvd1_1;  

                                                                              // Group 10 PIE Peripheral Vectors:
                                                                                   PINT     ADCINT1;

    问题解决!

  • 谢谢,问题已经解决了。

  • DSP2803x_PieVect.h文件,刚才写错了。