请问STM32 ADC 的转换时间怎么计算 ?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问STM32 ADC 的转换时间怎么计算 ?相关的知识,希望对你有一定的参考价值。

1: 系统时钟 8MHz外部晶振 9倍频 = 72MHz
AD时钟 APB2 不是应该=APB2的时钟吗 72MHz ?

为什么在有一个文档中 看到

2:ADC每一组采样时间计算?
另外: 规则组转换,采样周期设置为28.5周期。怎么计算每一组的采样时间?
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_28Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_28Cycles5);

在《STM32处理器基本接口应用》这本书中说道
每个通道的总转换时间计算方法 为:Tconv =采样时间+12.5ADC_CLK周期
通道1 总采样时间为: (28.5+12.5)/72MHz =?

谢谢各位了

1)ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。
2)例:当ADCCLK=14MHz ,采样时间为1.5周期
TCONV = 1.5 + 12.5 = 14 周期 = 1 μ s
这两句话是参考手册上原原本本的两句话。
参考技术A 配单片机的晶振,特别是32.768KHZ的,日本KDS上海唐辉电子,可以免费给您少许样品。长期供货保障。配STM32的4M,8M晶振,我们也可以免费提供少许样品给研发朋友们。这些均是常见频率点。日本KDS上海唐辉电子,非常愿意和各位研发朋友们交心做朋友的。

STM32 中定时器中断回调函数中加入adc采样轮换查询后,中断函数不执行?请问怎么解决?

HAL_TIM_PeriodElapsedCallback
中加入

HAL_ADC_PollForConversion(&AdcHandle,10);
后,一直卡在
/* Check End of conversion flag */
while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC)))

/* Check for the Timeout */
if(Timeout != HAL_MAX_DELAY)

if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout))

hadc->State= HAL_ADC_STATE_TIMEOUT;
/* Process unlocked */
__HAL_UNLOCK(hadc);
return HAL_TIMEOUT;



请问如何解决?

参考技术A 你用的是哪个库版本,

以上是关于请问STM32 ADC 的转换时间怎么计算 ?的主要内容,如果未能解决你的问题,请参考以下文章

STM32定时器触发ADC怎么配置

STM32用定时器控制ADC采集做FFT请教

如何使用stm32adc

stm32 ADC连续转换模式 开启语句 怎么写 库函数的

stm32之ADC(规则通道)

stm32 ADC采样速率的问题