void adc1_config_channel_atten(adc1_channel_t channel, adc_atten_t atten); 第一个参数选择通道,我们知道每个ADC都有十个通道,因此可选的有十个。 第二个选择衰减参数。 这个根据自己手上的传感器的电气参数来选择,不清楚的话就先选11db的,这样就算电压范围不一样也不会导致板子烧坏。 接下来就可以读取A...
ADC_ATTEN_DB_6:衰减6dB,输入电压范围为0到2.00V。ADC_ATTEN_DB_11:衰减11dB,输入电压范围为0到3.60V。 您可以使用analogSetAttenuation()函数来设置ADC的衰减系数。例如,以下代码将ADC的衰减系数设置为11dB:CopyanalogSetAttenuation(ADC_ATTEN_DB_11);需要注意的是,衰减系数越大,输入电压范围就越大,但ADC的精...
0dB衰减(ADC_ATTEN_0db)表示参考电压为1.1V 2.5dB衰减(ADC_ATTEN_2_5db)表示参考电压为1.5V 6dB衰减(ADC_ATTEN_6db)表示参考电压为2.2V 11dB衰减(ADC_ATTEN_11db)表示参考电压为3.9V Arduino ESP32 核心库有关ADC库函数 esp32-hal-adc.h #ifndef MAIN_ESP32_HAL_ADC_H_ #define MAIN_ESP32_HAL_ADC_...
ADC_ATTEN_DB_0 = 0:满量程电压 1100 mV ADC_ATTEN_DB_2_5 = 1:满量程电压 1500 mV ADC_ATTEN_DB_6 = 2:满量程电压 2200 mV ADC_ATTEN_DB_11 = 3:满量程电压 3900 mV 满量程电压也可以参考 ESP-IDF 里的这段注释,不同衰减等级的 ADC 推荐量程可以参考下图: 为了获得最大的测量精度,请使用这些...
-- 6dB衰减(ADC_ATTEN_6)满量程电压为2.2V -- 11dB衰减(ADC_ATTEN_11)满量程电压为3.9 V(见以下注释) 注释: 满量程电压是对应于最大读数的电压(取决于ADC1配置的位宽度,该值为:4095表示12位,2047表示11位,1023表示10位,511表示9位。) 注释: 在11dB衰减时,最大电压受VDD_A限制,而非满量程电压。 由...
adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_11); // adc1_config_channel_atten(ADC1_CHANNEL_3, ADC_ATTEN_DB_6); // adc1_config_channel_atten(ADC1_CHANNEL_4, ADC_ATTEN_DB_0); // adc2_config_channel_atten(ADC2_CHANNEL_0, ADC_ATTEN_DB_0); ...
6dB衰减(ADC_ATTEN_6db)表示参考电压为2.2V 11dB衰减(ADC_ATTEN_11db)表示参考电压为3.9V typedefenum{ADC_ATTEN_DB_0=0,/*!<No input attenumation, ADC can measure up to approx. 800 mV. */ADC_ATTEN_DB_2_5=1,/*!<The input voltage of ADC will be attenuated, extending the range of mea...
在进行ESP32 RP2040 ADC误差测试时,我发现了一些显著的问题。起初,我怀疑ADC的精度可能受其衰减设置影响,因此在不同量程ADC_ATTEN_DB_0和ADC_ATTEN_DB_11进行了测试。测试数据显示,尽管DB11的精度表现优于预期,但DB0的结果并未证实我的初步假设,即量程缩小会提升精度。通过实际测量与API提供的...
(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12,0, &adc_chars);if(efuse_config != ESP_ADC_CAL_VAL_EFUSE_TP_FIT) { Serial.println(F("ALERT, ADC calibration failed")); } }voidloop(){uint32_tvoltage;esp_err_terr = esp_adc_cal_get_voltage(ADC_CHANNEL, &adc_chars, &voltage...
atten = ADC_ATTEN_DB_11; //该ADC的通道衰减 adc_pattern[i].channel = ch; // ADC的通道 adc_pattern[i].unit = unit; // ADC的单元 adc_pattern[i].bit_width = SOC_ADC_DIGI_MAX_BITWIDTH; // ADC的输出宽度 } 1 2 3 4 5 6 7 8 9 10 11 12...