173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

stm32的AD3个转换

keros@mark 2023-03-17 资讯中心

求教,stm32f030 HAL库ad转换问题

你要知道为什么需要时钟。单片机必须要有时钟才能正常运行,STM32有外部时钟和内部时钟的区别。但无论是外部还是内部时钟,都会经过分频或倍频最后得到外设的时钟,这样外设才能正常运行。而打开时钟就是允许接收分频后的频率。比如外部时钟晶振你是8M,经过倍频后得到72M,然后可分频2、4、6、8……给ADC是使用,但是ADC最大运行频率为14M,所以分频数至少得设为6。这时你也要像你问的那样,打开ADC的时钟。

STM32 多路AD转换问题

可以检测16处电压。。但是。。但是……不能同时检测。。。

比如如果只是采用adc1的话,要一个一个按顺序来,用库写程序的话有一句

ADC_RegularChannelConfig(ADC1,ADC_Channel_2, 1,ADC_SampleTime_1Cycles5);

里面那个1表示在这一次周期的采样顺序,采样3个点就是

ADC_RegularChannelConfig(ADC1,ADC_Channel_3, 1,ADC_SampleTime_1Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_2, 2,ADC_SampleTime_1Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_5, 3,ADC_SampleTime_1Cycles5);

其中的那个1,2,3就是顺序

如果用adc1和adc2的话是可以同时采样的……

但是只用1个adc的话16处采样的返回值只写在对应的ADC_DR里面,需要分时读取;

同样,adc1和adc2是有各自不同的adc_dr;

读取,可以通过dma传出来读取。在dma的设置里有关于adc的……

或者在库函数里也有直接读取的。。

或者。。直接去读寄存器也可以……

STM32 ADC转换如何计算

ADC转换时间:

具有以下公式:TCONV=采样时间+12.5个周期

对于12位AD采集,固定为12.5个周期。其他采样时间可以由SMPx[2:0]寄存器控制。每个通道可以单独配置。

000:1.5周期

100:41.5周期

001:7.5周期

101:55.5周期

010:13.5周期

110:71.5周期

011:28.5周期

111:239.5周期

当我们选择1.5个周期。转换时间=1.5+12.5=14个周期。

当时钟配置为12MHz时,转换时间=14/12=1.167us。

扩展资料:

STM32ADC通道序列设置:

1、使用STM32ADC多通道采样时,需要为所使用的每个通道配置相应的转换顺序和采样时间。详细信息如下图所示。

2、参数Rank是通道的采样顺序。关于通道10,将Rank设置为1,以指示ADC操作中第一个采样的通道为ADC10。

3、如果ADC10,ADC11,ADC12和ADC13的通道号设置相同,则DMA输出到存储器的四个通道的值将不确定。

4、分别设置通道的采样顺序后,DMA终端可以准确输出每个通道的采样值。

本文标签:stm32的AD3个转换

产品列表
产品封装
友情链接