你先用3.3v的测试下你的,ad数据吧。。 正常3.3v的时候才是你的ad满量程。。。 难道使用的是外部基准?
这个是我测试的F030R8的,没有问题。。。。用的是HAL 1.40的库
if(HAL_ADC_Start(&hadc) != HAL_OK)
{
/* Start Conversation Error */
//HAL_GPIO_WritePin (GPIOC ,GPIO_PIN_13,GPIO_PIN_SET );
}
if (HAL_ADC_PollForConversion(&hadc, 10) != HAL_OK)
{
/* End Of Conversion flag not set on time */
HAL_GPIO_WritePin (GPIOA ,GPIO_PIN_5,GPIO_PIN_SET );
}
else
{
/* ADC conversion completed */
/*##-5- Get the converted value of regular channel ########################*/
uhADCxConvertedValue = HAL_ADC_GetValue(&hadc);
}
float value=0;
value = uhADCxConvertedValue*3300/4095;
printf ("PA0 ADC=%.2fVr",value/1000 );
你先用3.3v的测试下你的,ad数据吧。。 正常3.3v的时候才是你的ad满量程。。。 难道使用的是外部基准?
这个是我测试的F030R8的,没有问题。。。。用的是HAL 1.40的库
if(HAL_ADC_Start(&hadc) != HAL_OK)
{
/* Start Conversation Error */
//HAL_GPIO_WritePin (GPIOC ,GPIO_PIN_13,GPIO_PIN_SET );
}
if (HAL_ADC_PollForConversion(&hadc, 10) != HAL_OK)
{
/* End Of Conversion flag not set on time */
HAL_GPIO_WritePin (GPIOA ,GPIO_PIN_5,GPIO_PIN_SET );
}
else
{
/* ADC conversion completed */
/*##-5- Get the converted value of regular channel ########################*/
uhADCxConvertedValue = HAL_ADC_GetValue(&hadc);
}
float value=0;
value = uhADCxConvertedValue*3300/4095;
printf ("PA0 ADC=%.2fVr",value/1000 );
举报