ADC单通道应用举例
//阻塞式
HAL_ADC_Start(&hadc1);//开始ADC转换
if(HAL_OK==HAL_ADC_PollForConversion(&hadc1,10)){//判断是否转换成功
ADC_value=HAL_ADC_GetValue(&hadc1);//获取ADC转换值
printf("当前采集值为:%d\r\n",ADC_value);//串口输出值
}
//非阻塞式
HAL_ADC_Start_IT(&hadc1);//开始ADC转换
//ADC的中断回调函数
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc){
if(hadc->Instance==ADC1){//判断是否为ADC1产生的中断
ADC_value=HAL_ADC_GetValue(&hadc1);//获取ADC转换值
printf("当前值:%d\r\n",ADC_value);//串口输出值
}
}
|