uint8_t Adc2ConvEnd=0;
int main(void)
{
uint16_t VBusValue;
HAL_TIM_Base_Start(&htim1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3);
if(HAL_ADCEx_Calibration_Start(&hadc2) != HAL_OK )
{
Error_Handler();
}
HAL_ADC_Start_IT(&hadc2);
while (1)
{
if(Adc2ConvEnd)
{
Adc2ConvEnd=0;
VBusValue=HAL_ADC_GetValue(&hadc2);
//定时器触发ADC采样的方式就不需要自己在此处再次加上HAL_ADC_Start_IT(&hadc2)来开启中断了
printf("VBusValue:%d\r\n",VBusValue);
}
}
}
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
if(hadc==&hadc2)
{
Adc2ConvEnd=1;
}
}