
ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。也就是说,可以牺牲采样速度来获取采样精度,也可以牺牲采样精度来获取采样速度,当然精度要满足任务要求。
时钟分频:ADC 时钟 ADC 接在APB2 上,APB2的时钟为72MHz,通过分频的方式给ADC 提供时钟,预分频主要有2、4、6、8 四种分频方式。比如,如果打算选择分频6,那么就是ADC采样时钟频率就是72MHz/6=12MHz
转换时间:转换时间TCONV = 采样时间+ 12.5 个周期(12.5个周期采集12位AD时间是固定的周期)
例如:当ADCCLK=14MHz和1.5周期的采样时间
TCONV = 1.5 + 12.5 = 14
周期=1μs
例如:当ADCCLK=14MHz 和1.5 周期的采样时间 TCONV = 1.5 + 12.5 = 14 周期 = 1μs
1)一般情况,如果是软件启动,那么转换时间即是采样周期。
2)若通过定时器进行触发启动ADC,则还需要加上定时器的相关时间。
采样周期:采样周期对于转换时间/采样时钟频率
STM32—ADC详解
STM32的ADC采样时间
这样的程序没必要使用dma的,dma的标志位你没清干净,发送数据容易出去,你直接使用ADC_ConvertedValueLocal = ADC_GetConversionValue( ADC1 )直接拿到adc_dr中的值就可以了 你试试
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)