|
前提: 1.目前正在学习HAL库的双ADC慢速交叉模式(DMA版),用PC0采集通道电压值; 2.main.c中只有延时1秒循环打印采集到的电压值,两个采集值都可以顺利获取; 描述: 根据STM32中参考手册(V10)中对 ADC慢速交叉模式的描述,当ADC2开始采集,ADC1在延时14个ADCCLK周期后启动,第二次延时14个ADCCLK后ADC2再次采集。 不过我在程序中使用了sConfig.SamplingTime = ADC_SAMPLETIME_55CYCLES_5; 这55.5个采样时间,加上12.5个ADCCLK周期,采样+转换=55.5+12.5=68个ADCCLK。 ========================================================== 问题1:14个ADCCLK怎么来的? 问题2::55.5个采样时间都已经超过14了,难道是用了这个模式后,采样时间的设置被取消了吗?
问题4:那高速交叉模式7个ADCCLK又该怎么解释呢? ========================================================== 1.我试过ADC1采样时间为13.5,ADC2采样时间为239.5,但也能正常运行。 2.如果需要示波器之类才能解决,暂时没有这个条件... |
既然使用交织模式,那就按照该模式的要求来。以慢速为例,采样时间的配置就不要超过14clk。手册里的Note行有说明。否则会出现转换重叠的情形 ,这样 就失去了交织采样转换的意义了。至于7CLK和14CLK,这是硬件要求的,毕竟我们允许的最小采样时间为1.5CLK,当然具体到转换结果,采样时间的拟定我们需根据实际 电路来。
既然使用交织模式,那就按照该模式的要求来。以慢速为例,采样时间的配置就不要超过14clk。手册里的Note行 ...
感谢您的回答!