用ST软件stm32cubemx配置

我用的是ADC1的IN0 IN1 IN2 IN4 IN5 IN6 IN7通道、

这是配置!用的是非DMA模式。每个通道转换一次,软件触发。Rank必须写为7.
void Get_Adc_Data_1(uint8_t cont){
for(int i=0;i<7;i++){
HAL_ADC_Start(&hadc1);
//HAL_Delay(5);
HAL_ADC_PollForConversion(&hadc1,100);
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC)){
adc_databuf[0][i] = HAL_ADC_GetValue(&hadc1);
}
temp = (float) adc_databuf[0][i]*330/4096;
adc_data[i][cont] = temp;
}
HAL_ADC_Stop(&hadc1);
}
在adc.c文件里面添加上面代码就能读取7个通道的ADC值。
本文介绍使用STM32CubeMX配置ADC1的IN0至IN7通道,通过非DMA模式逐次读取各通道数据的方法。在ADC.c文件中实现了一次性获取所有通道ADC值的函数。
978

被折叠的 条评论
为什么被折叠?



