fnpd.net
当前位置:首页 >> stm32l152 ADC >>

stm32l152 ADC

看芯片手册,这些都是规定好的,例如PA0,对应的ADC123_IN0指的就是通道0,需要注意的是ADC123这样的是三个ADC模块的通道都可以使用的,而ADC1这样的就只能使用ADC1模块的通道采样。

ADC就是模拟量转数字量。 ADC的应用很广,最典型的是传感器领域。因为许多物理量转换为电压容易。比如需要采集压力、光强、温度等你可以很容易地在市面上找到光敏电阻、压敏电阻等等。而这些信号CPU是无法处理的,必须通过ADC转换成数字量然后处...

从数据手册看,STM32F103ZET6的ADC1的参考电压是外部输入的,它的31脚和32脚就是基准电压输入脚。输入模拟信号为Vref-,时,ADC的输出为000000000000,输入模拟信号为Vref+时,ADC的输出为111111111111。Vref的取值范围2.4 V≤Vref≤Vdda。 管脚100...

1,ADC时钟是设为9M 2,ADC总转换时间=采样时间+12.5个ADC时钟周期(信号量转换时间),而采样时间由寄存器设定,最低1.5ADC周期,最大239.5ADC周期,也就是你程序中设置的55.5个采样周期。所以ADC一次采样的总采样时间是55.5+12.5=68个ADC周期,...

18个通道,其中2个用于测量内部信号,16个可以测量外部信号,是12位的

! FFT算法,需要你自己做了,网上有现成的例子。 你要做的是:配置好ADC采用通道; 再根据需要配置一个定时器触发ADC采样通道,读取数据存到缓存中; 根据缓存中的数据做FFT算法; 主要问题是:这个定时器设置的周期需要你自己决定,因为多久做...

#define Channel_Num2 #define Sample_Num10 vu16 ADC_ConvertedValue[Sample_Num][Channel_Num]; void ADC_DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); DMA_DeInit(DMA1_Chann...

V(ADC) = Value(ADC) * V(ref)/4096 其中V(ADC)为算出的电压值;Value(ADC)为采集的AD值;V(ref)为参考电压,一般为3.3V。 比如你STM32的参考电压为3.3v,采集的AD值为1024,那么转换为电压V(ADC) = 1024×3.3/4096 = 0.825V

你得到的结果是你当前AD引脚上的电压值相对于3.3V和4096转换成的数字. 假如你得到的AD结果是ADC_DR这个变量,他们存在以下关系: ADC_DR/当前电压值 = 4096/3300毫伏 如果你反过程想得到当前电压值,可以如下计算: unsigned long Voltage; Voltage ...

我对了一下,没发现错误,很有可能是你串口出了问题。 我以前的程序和你的一样,好用。

网站首页 | 网站地图
All rights reserved Powered by www.fnpd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com