ADC_InitStructure.ADC_NbrOfChannel = 1; ADC_Init(ADC1, &ADC_InitStructure); ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5); ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_...
4、引脚:EOC为End of Convert即转换结束信号;START是开始转换,给一个输入脉冲;CLOCK是ADC时钟,因为ADC内部是一步一步进行判断的,需要时钟来推动这个过程;下面的VREF+和VREF-是DAC的参考电压,比如给DAC个数据255,是对应5V还是3.3V就由参考电压决定,DAC的参考电压也决定了ADC的输入范围,所以也是ADC的参考电压;Vcc与...
ADC输入范围为:VREF-≤ VIN≤ VREF+。由VREF-、 VREF+、VDDA、VSSA、这四个外部引脚决定。 我们在设计原理图的时候一般把VSSA和VREF-接地, 把VREF+和VDDA接3V3,得到ADC的输入电压范围为:0~3.3V。 如果我们想让输入的电压范围变宽,去到可以测试负电压或者更高的正电压,我们可以在外部加一个电压调理电路, 把需...
void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); //设置规则序列通道以及采样周期 void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);//允许软件开启ADC转换 while(!ADC_GetFlagStatus(ADCx,ADC_FLAG_EOC));//等...
while(ADC_GetCalibrationStatus(ADC_x)); // 等待校准完成 ADC_SoftwareStartConvCmd(ADC_x, ENABLE); // 使用软件触发 } static void ADC_NVIC_Config(void) { NVIC_InitTypeDef NVIC_InitStructure; // 优先级分组 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); ...
ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的模拟信号转换为数字信号。STM32F103系列最少都拥有 2 个 ADC外设,最多拥有3个ADC外设。 ADC的功能特性: 输入电压: ADC 输入范围 VREF–≤VIN≤VREF+,最终还是由 VREF–、VREF+、VDDA 和 VSSA 决定的,VDDA 和 VREF+接 VCC3.3,而 VSSA...
在STM32系列微控制器中,ADC模块通常包括以下特性和功能: 多通道转换:支持同时转换多个模拟通道的数据。 不同分辨率:可以根据应用需求选择不同的转换精度(分辨率)。 DMA支持:可以通过DMA(直接存储器访问)提高转换效率,减少CPU负载。 外部触发:可以通过外部触发信号启动转换过程,实现精确的时间控制。
(ADC1);// 重置指定的ADC的校准寄存器while(ADC_GetResetCalibrationStatus(ADC1));// 获取ADC重置校准寄存器的状态ADC_StartCalibration(ADC1);// 开始指定ADC的校准状态while(ADC_GetCalibrationStatus(ADC1));// 获取指定ADC的校准程序ADC_SoftwareStartConvCmd(ADC1, ENABLE);// 使能或者失能指定的ADC的软件...
ADC_StartCalibration(ADC2); 9.ADC_GetCalibrationStatus函数的功能是获取ADC的校准状态。具有返回值 FlagStatus Status; Status =ADC_GetCalibrationStatus(ADC2); 10.ADC_SoftwareStartConvCmd函数的功能是使能或者失能指定的ADC的软件启动功能。 ADC_SoftwareStartConvCmd(ADC1,ENABLE); ...
while(ADC_GetCalibrationStatus(ADC1)); ADC_SoftwareStartConvCmd(ADC1,ENABLE);//使能规则组转换 } //不要让ADC的时钟超过14MHZ //我的系统时钟是72MHZ,所以我6分频RCC_ADCCLKConfig(RCC_PCLK2_Div6);这样12MHz就满足条件了 1. 2. 3. 4. ...