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.
Hi Lily,
采用eTPWM硬件触发ADC采样,主要配置三点:
1, PINMUX的PINMMR,即在PINMUX页面配置使能相应外设Peripherals,并在Special Pin Muxing中使能相应的“Use Alternate ADC “Trigger Option””;
2,ETPWM的SOC Interrupt Event Selection,使能ADC SOCA,及配置SOCASEL寄存器;
3,ADC的触发源配置,即ADC1 Event Group Trigger Source的选择。
配置好以上几点后,在main()中做adcEnableNotification及adcStartConversion。举例-如下代码:
int main(void) { /* USER CODE BEGIN (3) */ //_enable_interrupt_(); int a=0,n=1;
adcInit(); etpwmInit(); adcEnableNotification(adcREG1, adcGROUP0); /* Enable IRQ - Clear I flag in CPS register */ /* Note: This is usually done by the OS or in an svc dispatcher */ _enable_IRQ_interrupt_(); adcStartConversion(adcREG1, adcGROUP0); while (1) { if (flag_int_adc == 1) a=n; // break; } /* USER CODE END */ return 0; }