【技术】ESP32的ADC是什么?

B站影视 2024-12-01 07:59 2

摘要:ESP32的ADC是模拟数字转换器,它可以测量0-3.3V之间的模拟电压,并将其转换为数字值12 。ESP32集成了两个12位SAR(逐次逼近寄存器)ADC,总共支持18个测量通道(模拟使能引脚) 。这些通道如下:

ESP32的ADC模拟数字转换器,它可以测量0-3.3V之间的模拟电压,并将其转换为数字值12 。ESP32集成了两个12位SAR(逐次逼近寄存器)ADC,总共支持18个测量通道(模拟使能引脚) 。这些通道如下:

ADC1:8个通道:GPIO32 - GPIO39ADC2:10个通道:GPIO0、GPIO2、GPIO4、GPIO12-GPIO15、GOIO25-GPIO27

要注意的是,ADC2和Wi-Fi共用引脚,Wi-Fi的优先级更高,所以ADC2只有在Wi-Fi模块不用的情况下才能使用 。

要使用ESP32的ADC,需要先配置ADC的衰减选项、分辨率、采样周期等参数,然后调用相应的API函数来读取ADC的原始值或校正后的电压值。

ADC的参考电压是1.1V(每个芯片间有差异,非精准),所以只能测量0-1.1V的电压;如果要测量更大的电压,需要使用衰减选项,将输入电压分压到合适的范围。ADC的输出结果是非线性的,即不同电压对应的数字值之间不成比例;这意味着ESP32不能区分接近0V或3.3V的电压,会得到相同的结果:0或4095。为了解决这个问题,需要对ADC进行校正,使其输出更接近真实电压 。ADC可以使用单次读取模式或连续读取模式;单次读取模式适用于低频采样操作,连续读取模式适用于高频采样操作。在连续读取模式下,可以使用DMA或中断来处理ADC数据

来源:自由坦荡的湖泊AI一点号

相关推荐