获取结果;(我们在程序中自己写代码,调用库函数HAL_ADC_GetValue())二、ADC 校准 在上面的步骤中,...
ADCs_Common_Settings ADC模式设置Mode ADC_Mode_Independent 这里设置为独立模式 独立模式模式下,双ADC不能同步,每个ADC接口独立工作。所以如果不需要ADC同步或者只是用了一个ADC的时候,应该设成独立模式,多个ADC同时使用时会有其他模式,如双重ADC同步模式,两个ADC同时采集...
上面为代码。 首先要开启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...
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))//就是判断转换完成标志位是否设置,HAL_ADC_STATE_REG_EOC表示转换完成标志位,转换数据可用{//读取ADC转换数据,数据为12位。查看数据手册可知,寄存器为16位存储转换数据,数据右对齐,则转换的数据范围为0~2^12-1,即0~4095.adcBuf[i]...
void bsp_AdcPro(void) { static uint16_t buf[SAMP_COUNT]; static uint8_t write; uint32_t sum; uint8_t i; HAL_ADC_PollForConversion(&AdcHandle, 5); //等待转换完成,第二个参数表示超时时间,单位ms if(HAL_IS_BIT_SET(HAL_ADC_GetState(&AdcHandle), HAL_ADC_STATE_REG_EOC)) ...
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))//就是判断转换完成标志位是否设置,HAL_ADC_STATE_REG_EOC表示转换完成标志位,转换数据可用{//读取ADC转换数据,数据为12位。查看数据手册可知,寄存器为16位存储转换数据,数据右对齐,则转换的数据范围为0~2^12-1,即0~4095.adcBuf[i...
HAL_ADCEx_Calibration_Start(&hadc1,ADC_SINGLE_ENDED); 大部分情况下直接选择单端校准ADC_SINGLE_ENDED就行了,差分校准还需要外部电路的支持。 对于STM32F 系列的来说,HAL校准函数使用的示例如下: HAL_ADCEx_Calibration_Start(&hadc1); ... 3.3 ...
void bsp_AdcPro(void) { static uint16_t buf[SAMP_COUNT]; static uint8_t write; uint32_t sum; uint8_t i; HAL_ADC_PollForConversion(&AdcHandle, 5); //等待转换完成,第二个参数表示超时时间,单位ms if(HAL_IS_BIT_SET(HAL_ADC_GetState(&AdcHandle), HAL_ADC_STATE_REG_EOC)) ...
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; // 读取转换...
//HAL_ADC_GetState(&hadc1)为换取ADC状态,HAL_ADC_STATE_REG_EOC表示转换完成标志位,转换数据可用。 if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))//就是判断转换完成标志位是否设置,HAL_ADC_STATE_REG_EOC表示转换完成标志位,转换数据可用 { //读取ADC转换数据,数据为12位。