ADC_VoltageRegulatorCmd(ADC2, ENABLE);osDelay(1); //延迟 1ms,需要用你自己的延时函数替换。其实2...
if (HAL_ADC_PollForConversion(&hadc1, 1000) == HAL_OK) //等待转换完成 { adcValue = HAL_ADC_GetValue(&hadc1); //读取转换结果 float voltage = (float)adcValue * 3.3f / 4096.0f; //转换为电压值(假设参考电压为3.3V) char buffer[50]; sprintf(buffer, "ADC Value: %lu, Voltage: %....
ADC_VoltageRegulatorCmd(ADC1, ENABLE);/* Insert delay equal to 10 us */ //Delay(10);ADC_...
// 启动ADC转换 HAL_ADC_Start(&hadc1); // 等待转换完成 HAL_ADC_PollForConversion(&hadc1, 100); // 获取ADC转换结果 uint16_t adc_value = HAL_ADC_GetValue(&hadc1); // 将ADC转换结果转换为光线强度 LightIntensity = (float)adc_value / 4095 * 100; // 将数据打印到串口 ch...
ADC_VoltageRegulatorCmd(ADC1,ENABLE);//ADC稳压器 delay_ms(10); ADC_SelectCalibrationMode(ADC1,ADC_CalibrationMode_Single);//选择单通道校准模式 ADC_StartCalibration(ADC1);//开始选择的ADC校准过程 while(ADC_GetCalibrationStatus(ADC1));//校准结束 ...
1、配置RCC,这里有个注意的点,如果你要想将H7的主频提高到200MHZ以上要将Power Regulator Voltage Scale改成Scale 0,这个去看下手册就行,没什么可说的。 2、配置时钟树,项目使用12M的晶振,我配置的满频480MHZ。这里提一下,ADC可以有两个时钟源,具体看硬汉大佬的教程,我这里用的默认AHB,就什么也不用动。
.Multimode = LL_ADC_MULTI_INDEPENDENT;// ADC采取独立模式 LL_ADC_CommonInit(__LL_ADC_COMMON_INSTANCE(ADC1), &ADC_CommonInitStruct); /* Enable ADC internal voltage regulator *//*使能ADC内部的稳压器*/ LL_ADC_EnableInternalRegulator(ADC1); /* Delay for ADC internal voltage regulator ...
回想一下,VCORE必须在范围2(默认配置)中,并且系统时钟频率必须降低到不超过fMSI范围1(131.072 kHz)。因此,在此模式下,USB,ADC和TSC外设不可用。此外,任何继续在低功耗睡眠模式下运行的频率相关外围设备都必须重新初始化,以便它们继续正常运行。 与低功耗运行模式不同,LPRUN位不用于使稳压器进入低功耗模式。一旦系统...
ADC_VoltageRegulatorCmd(ADC4, ENABLE);/* Insert delay equal to 10 祍 */ Delay(0xFFFF);ADC_...
uint32_t adcValue = HAL_ADC_GetValue(&hadc); // 获取转换结果 float voltage = (adcValue * 3.3) / 4095; // 根据参考电压计算电压值 // 在这里可以对获取到的ADC值进行处理或其他操作 HAL_Delay(100); // 延时100ms } } void SystemClock_Config(void) ...