STM32用PWM触发ADC采样,采样一定样本后停止,如何设置?

2020-01-03 19:07发布

   想实现的功能如下:
         1。用定时器产生一路PWM驱动外围电路,并用这路PWM的上升边沿做为ADC开始采集的起始点。
         2.  ADC采集用DMA传输,PWM边沿触发ADC开始第一个样本的采集,采集完成256个样本后通知主函数进行运算处理。此时不再采集传输以防数据被覆盖。
         3.  主函数处理完后,再次允许PWM边沿触发ADC继续采集下一轮256的样本。并且保证第一个样本是PWM边沿触发,就是需要保证同步。
         4.  PWM一经开启,就不允许再次暂停。
   触发ADC采样完256个样本后产生DMA中断,在中断里置位标志。如何暂停ADC和DMA继续动作,处理玩后又如何保证下一个采集的同步呢?
  现在的处理是在DMA中断中  用ADC_Cmd(ADC1, DISABLE);  来关闭中断,主函数处理完后再开启,但是感觉这个做法不好。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。