esp32的adc引脚可以查看esp32的数据手册.

adc的各个通道




DAC 的主要特性包括:
• 2 个 8 位 DAC 通道
• 支持双通道的独立/同时转换
• 可从 VDD3P3_RTC 引脚获得电压参考
• 含有余弦波型发生器
• 支持 DMA 功能
• 可通过软件或 SAR ADC FSM 开始转换。更多信息,请见 SAR ADC 章节。
• 可由 ULP 协处理器通过控制寄存器来实现完全控制。请见 ULP 协处理器章节。
arduino支持的函数
模拟量读取:
uint16_t analogRead(uint8_t pin);
//pin GPIO pin to read analog value
//用于读取模拟值的 GPIO 引脚
//该函数将返回模拟原始值(未校准)。
模拟读取毫伏
uint32_t analogReadMilliVolts(uint8_t pin);
//此函数用于获取给定引脚/ADC 通道的 ADC 原始值,并将其转换为以毫伏为单位的校准结果。
//此函数将返回以毫伏为单位的模拟值(已校准)。 设置模拟读取分辨率
void analogReadResolution(uint8_t bits);
//所有芯片的默认值为 12 位(范围从 0 到 4095)。当设置不同的分辨率时,读取的值将移动以匹配给定的分辨率。 设置衰减
void analogSetAttenuation(adc_attenuation_t attenuation); 设置特定引脚的衰减
void analogSetPinAttenuation(uint8_t pin, adc_attenuation_t attenuation); 设置模拟宽度
void analogSetWidth(uint8_t bits); 连续模式
bool analogContinuous(const uint8_t pins[], size_t pins_count, uint32_t conversions_per_pin, uint32_t sampling_freq_hz, void (*userFunc)(void)); 连续读取
//该函数用于将 ADC 连续数据读取到结果缓冲区。结果缓冲区是一个adc_continuous_result_t结构体
typedef struct {
uint8_t pin; /*!<ADC pin */
uint8_t channel; /*!<ADC channel */
int avg_read_raw; /*!<ADC average raw data */
int avg_read_mvolts; /*!<ADC average voltage in mV */
} adc_continuous_result_t;
bool analogContinuousRead(adc_continuous_result_t ** buffer, uint32_t timeout_ms);
连续读取启动
bool analogContinuousStart(); 连续读取停止
bool analogContinuousStop(); 取消连续初始化
bool analogContinuousDeinit(); 设置连续外设衰减
void analogContinuousSetAtten(adc_attenuation_t attenuation); 设置连续模拟宽度
void analogContinuousSetWidth(uint8_t bits);