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.

28032的ADC转换epwm触发

我用ADC的16个通道采集数据,AdcRegs.ADCSOCXCTL.bit.TRIGSEL  = 5;0~15通道都是这样子设置的,请问,是来一个脉冲只转换一个通道后进入adc中断函数,还是所有通道转换完保存到结果寄存器后,再进入到通道中去呢?
还有EPWM周期不会计算: 能教我怎么算一下么,下列代码的周期和占空比是多少呢。麻烦哪位教下我,谢谢

EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group // 1
EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount
EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value
EPwm1Regs.TBCTL.bit.CLKDIV = 2; 
EPwm1Regs.TBCTL.bit.HSPCLKDIV = 2;
EPwm1Regs.TBPRD = 0x176;
EPwm1Regs.TBCTL.bit.CTRMODE = 3; 

  • pwm到来之后,默认情况下ad会按照soc0~soc15顺序进行转换。至于何时进入中断还要看你的中断配置。

    具体可以参考手册:http://www.ti.com/lit/ug/spruge5f/spruge5f.pdf

    代码周期时间的测量可以使用CCS debug界面下的clock功能。

  • 请问何时进中断的那个中断配置是哪个寄存器呢,

    AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1;

    AdcRegs.INTSEL1N2.bit.INT1E     = 1; 

    AdcRegs.INTSEL1N2.bit.INT1CONT  = 0;

    AdcRegs.INTSEL1N2.bit.INT1SEL   = 1;

    这是代码中的中断配置。谢谢``