软件
先设置引脚
ADC
HAL_Delay (200);
HAL_ADCEx_Calibration_Start(&hadc2,ADC_SINGLE_ENDED);
//自动校准ADC,HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef *hadc, uint32_t SingleDiff)
//在HAL_ADC_Start();之前
ADC_ResetCalibration(ADC1); //复位ADC
while(ADC_GetResetCalibrationStatus( ADC1));
ADC_StartCalibration( ADC1); //校准ADC
while(ADC_GetCalibrationStatus(ADC1));
ADC采集
uint16_t GetValue(void );
uint16_t GetValue() //ADC转换
{
uint16_t ADC_value = 0;
HAL_ADC_Start(&hadc2); //启动ADC转换
ADC_value = HAL_ADC_GetValue(&hadc2); //把获取到的值赋给ADC_value ;HAL_ADC_GetValue(ADC_HandleTypeDef *hadc);
return ADC_value ;
}
DAC输出
先设置引脚
/* USER CODE BEGIN 2 */
void DAC_OutValue(float DAC_OutValue) //设置PA4的输出电压
{
uint16_t value;
value= (4096*DAC_OutValue/3.3f);
HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1,DAC_ALIGN_12B_R,value);
HAL_DAC_Start(&hdac,DAC_CHANNEL_1);//DAC通道选定
}
/* USER CODE END 2 */