STM32 ADC采集的三种方式
采样周期
单个采集模式
ADC_Settings:
程序使用
uint16_t ADC_Read(uint32_t Channel)
{
ADC_ChannelConfTypeDef sConfig = {0};
sConfig.Channel = Channel; /* 通道 */
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_55CYCLES_5; /* 采样时间 */
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
return (uint16_t)HAL_ADC_GetValue(&hadc1);
}
/*
uint16_t ADC_Value[5];
ADC_Value[0] = ADC_Read(ADC_CHANNEL_1); // 采集并读取通道1
ADC_Value[1] = ADC_Read(ADC_CHANNEL_4);
ADC_Value[2] = ADC_Read(ADC_CHANNEL_5);
ADC_Value[3] = ADC_Read(ADC_CHANNEL_6);
ADC_Value[4] = ADC_Read(ADC_CHANNEL_7);
*/
多通道轮询
License:
CC BY 4.0