小学生
最后登录1970-1-1
在线时间 小时
注册时间2020-2-9
|
1火花
大家好,我想用单片机ADC采集一个电位器电压,可以确定硬件连接是没问题的,使用示波器测量过了,目前是无论怎么调节电位器ADC寄存器的值都不改变,且测试出的电压也不对,代码如下:
int ADC_Value;
float ADC_Votage;
while (1)
{
HAL_ADCEx_Calibration_Start(&hadc2);
HAL_ADC_Start(&hadc2);
HAL_ADC_PollForConversion(&hadc2,10);
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc2), HAL_ADC_STATE_REG_EOC))
{
ADC_Value=HAL_ADC_GetState(&hadc2);
printf("检测AD寄存器值:%d\r\n",ADC_Value);
ADC_Votage = ADC_Value*3.3/4096;
printf("检测AD电压值:%.4fV\r\n",ADC_Votage);
printf("\r\n");
HAL_Delay(500);
};
ADC的配置及串口输出结果如图所示
|
|