uint16_t ADC_Values[ADC_MAX_NUM]= {0};/** * @brief Get the Adc Value object 处理原始数据,获取5个通道的数据*/staticvoidGet_Adc_Value(void) {if(DMA_RECEIVE_OVER ==1)//DMA数据采集完处理数据{ DMA_RECEIVE_OVER=0;for(uint8_t adc_channel =0; adc_channel < ADC_MAX_NUM; adc_chann...
AdcPublishedInformation Contain主要配置AdcChannelValueSigned、AdcGroupFirstChannelFixed、AdcMaxChannelResolution。其中AdcChannelValueSigned决定Adc的结果是否有符号信息;AdcGroupFirstChannelFixed主要受硬件限制是否可以配置为固定的值,硬件上一般与参考电压相互连接;AdcMaxChannelResolution定义了最大的精度位数。 TC277 ADC在...
接下来我们使用一个公式将数字值转换为电压并存储在一个名为电压的变量中。 电压= ( (adcvalue/1023.0) * 3.3 ); 5.以下行用于显示模数转换后的数字值(0 到 1023)。 adc = adc 值; sprintf(displayadc, "adcvalue=%f", adc); LCD_DISPLAY(displayadc); //显示ADC值(0到1023) 6.以下行用于显示模数...
gAdcAdValue =Get_ADC_Value(ADC_Channel_1,10);// 获取转换结果gAdcVol = (gAdcAdValue /0xFFF) *3.3;// 计算实际电压printf("Vol=%.1fVrn",gAdcVol);// 串口打印结果delay_ms(500);// 防止打印过快} } 七、拓展 7.1定时器触发ADC采集 根据中文参考手册介绍,ADC可以通过定时器触发AD转换(只有PWM...
{AD0=AD_GetValue(ADC_Channel_0);AD1=AD_GetValue(ADC_Channel_1);AD2=AD_GetValue(ADC_Channel_2);AD3=AD_GetValue(ADC_Channel_3);//根据需要也可设置映射关系,再进行显示OLED_ShowNum(1,5,AD0,4);OLED_ShowNum(2,5,AD1,4);OLED_ShowNum(3,5,AD3,4);OLED_ShowNum(4,5,AD3,4);Delay_...
printf(" ADC channel1 value = %1.3fV \r\n", ADC_Value[1]*3.3f/4096); } /* USER CODE END 3 */ } 3.多通道ADC采样(DMA) STM32CubeMX配置 为了避免冗余,这里省略掉CubeMX新建工程,配置时钟等步骤,直接展示DMA和ADC的配置 DMA配置如下,主要配置了通道,模式,字宽等信息 ...
}/* 使能设备 */ret =rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);/* 读取采样值 */value =rt_adc_read(adc_dev, ADC_DEV_CHANNEL);rt_kprintf("the value is :%d \n", value);/* 转换为对应电压值 */vol = value * REFER_VOLTAGE / CONVERT_BITS;rt_kprintf("the voltage is :%d.%02d \n...
Channel : 设定为Channel 7,配置成7通道。 Sampling Time:设定采样周期为6.5个周期。 Offset Number:设定为没有偏置。 ADC2设定: Rank 1:通道1。 Channel : 设定为Channel 1,配置成1通道。 Sampling Time:设定采样周期为6.5个周期。 Rank 2:通道2。
/* ADC channel length config */ adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, 1);//设置 ADC 转换的通道数量 /* ADC trigger config */ adc_external_trigger_source_config(ADC0,ADC_REGULAR_CHANNEL,ADC0_1_EXTTRIG_REGULAR_NONE); ...
Channel:所选择的通道 Sampling Time:采用周期,一个周期的时间要看ADC的时钟,如当前时钟图里设置的是12MHZ。这个时间设置越长采样越准确,但也相对要占用更长的采样时间。但不管再长,这采集都是微秒级别的。 转换函数 uint16_t ADC_Value=0; uint16_t dong_get_adc(){//开启ADC1HAL_ADC_Start(&hadc1);...