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.

[参考译文] TMS320F28069:ADC 触发

Guru**** 2589275 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/727435/tms320f28069-adc-trigger

器件型号:TMS320F28069

您好!

我已经在 PWMB 的下降沿设置了 ADC SOC 事件、并且启用了 interrupt1、如下所示:


   EALLOW;
   AdcRegs.INTSEL1N2.bit.INT1E = 1;      //启用 ADCINT1 *
   AdcRegs.INTSEL1N2.bit.INT1CONT = 0;   //禁用 ADCINT1连续模式*
   AdcRegs.INTSEL1N2.bit.INT1SEL = 0;    //设置 EOC0以触发 ADCINT1触发*
   AdcRegs.ADCSOC0CTL.bit.CHSEL = 0x8;   //将 SOC0通道选择设置为 ADCINB0 *
   AdcRegs.ADCSOC0CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCB;//6;   //设置 EPWM1B 上的 SOC0启动触发器,因为轮询 SOC0先转换,然后 SOC1 */
   AdcRegs.ADCSOC0CTL.bit.ACQPS = 6;     //将 SOC0 S/H 窗口设置为7个 ADC 时钟周期,(6个 ACQPS 加1)*/
   AdcRegs.ADCCTL1.bit.INTPULSEPOS = 0;  //配置早期中断*
   EDIS;

 我能否使用 ADCINT1和 PWMB 启动多个转换、例如添加此配置?

  EALLOW;
   AdcRegs.INTSEL1N2.bit.INT1E = 1;      //启用 ADCINT1 *
   AdcRegs.INTSEL1N2.bit.INT1CONT = 0;   //禁用 ADCINT1连续模式*
   AdcRegs.INTSEL1N2.bit.INT1SEL = 1;    //设置 EOC1以触发 ADCINT1触发*
   AdcRegs.ADCSOC1CTL.bit.CHSEL = 0xA;   //将 SOC1通道选择设置为 ADCINB2 *
   AdcRegs.ADCSOC1CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCB;
   AdcRegs.ADCSOC1CTL.bit.ACQPS = 6;     //将 SOC1 S/H 窗口设置为7个 ADC 时钟周期,(6个 ACQPS 加1)*/
   AdcRegs.ADCCTL1.bit.INTPULSEPOS = 0;  //配置早期中断*
   EDIS;

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

    我并不完全确定问题背后的意图、但您可以配置多个 SOC 由单个源触发、并让最后一个 SOC 生成 ADCINT。

    Tommy