char adcString1[10] = {0}; char adcString2[10] = {0}; // 触发ADC转换,使用DMA传输数据,设置源地址、目标地址、传输数量 HAL_ADC_Start_DMA(&hadc1, ADC_Value, 10); // 采样10个值存储在ADC_Value[10]数组中 while (1) { if (HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1, HAL_ADC_STA...
HAL_ADC_Start(&hadc1); //启动ADC转换 HAL_ADC_PollForConversion(&hadc1, 50); //等待转换完成,50为最大等待时间,单位为ms if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) { ADC_Value = HAL_ADC_GetValue(&hadc1); //获取AD值 printf("ADC值: %d \r\n",AD...
ADC输入时钟ADC_CLK由APB2经过分频产生,最大值是14MHz,分频因子由RCC 时钟配置寄存器 RCC_CFGR的位15:14 ADCPRE[1:0]设置,可以是2/4/6/8分频,但没有1 分频。 我们知道APB2总线时钟为72M,而ADC最大工作频率为14M,所以一般设置分频因子为6,这样ADC的输入时钟ADC_CLK的频率为12M,周期为1/ADC_CLK。 ② ...
首先要开启ADC, HAL_ADC_Start(&hadc1); 然后再等待ADC转换完成。 HAL_ADC_PollForConversion(&hadc1,50); 判断转换完成标志位是否设置。 HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC) HAL_ADC_STATE_REG_EOC表示转换完成标志位,转换数据可用。 在这里写了一个adc取平均值的函数。
HAL_ADC_PollForConversion(&hadc1,50); /* Check if the continous conversion of regular channel is finished */ if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) { /*##-3- Get the converted value of regular channel ###*/ AD_Value = HAL_ADC_GetValue...
一切准备就绪后, ADC 转换后的数据根据转换组的不同,规则组的数据放在 ADC_DR寄存器,注入组的数据放在 JDRx。 规则数据寄存器 ADC 规则组数据寄存器 ADC_DR 只有一个,是一个 32 位的寄存器,低 16 位在单 ADC时使用,高 16 位是在 ADC1 中双模式下保存 ADC2 转换的规则数据,双模式就是 ADC1 和...
HAL_ADC_Start(&hadc1); //开启 HAL_ADC_PollForConversion(&hadc1,50); //等待转换完成 if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) { ADC_ConvertedValue = HAL_ADC_GetValue(&hadc1); ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3; // 读取转换...
2ADC输入通道 从ADCx_INT0-ADCx_INT15对应三个ADC的16个外部通道,进行模拟信号转换此外,还有两个内部通道:温度检测或者内部电压检测选择对应通道之后,便会选择对应GPIO引脚,相关的引脚定义和描述可在开发板的数据手册里找 3注入通道,规则通道 我们看到,在选择了ADC的相关通道引脚之后,在模拟至数字转换器中有两个通...
1 ADC (HAL库) 1.1 ADC工作原理 STM32f103 系列有 3 个 ADC,精度为 12 位,每个 ADC 最多有 16 个外部通道。其中ADC1 和 AD...
• HAL_ADC_GetState() • HAL_ADC_GetError() 例子,ADC工作状态均为非阻塞 1 轮询模式 -- 非阻塞 /*##-3- Start the conversion process ###/ if(HAL_ADC_Start(&AdcHandle) != HAL_OK) { Error_Handler(); } /*##-4- Wait for the end of conversion ###/ HAL_ADC_...