有关 ESP-IDF 驱动程序/adc.h 中已弃用的定义的警告

问题描述 投票:0回答:1

对分配 (ESP-IDF PlatformIO) 进行最后的处理,我的 ADC 初始化会发出警告,表明我正在调用的定义已被弃用。它可以构建,所以这更多地属于“它让我烦恼”类别:IOW,它不会破坏游戏,但我仍然想知道如何修复它。

// main function
void app_main() {
    esp_event_loop_create_default();
    connect_wifi_params_t cbs = {
        .on_connected = handle_wifi_connect,
        .on_failed = handle_wifi_failed
    };

    // configure ADC for 12-bit width, 3.3V source
    // Photoresistor needs to be connected from 3.3V to pin 34.
    adc1_config_width(ADC_WIDTH_BIT_12);
    adc1_config_channel_atten(adc_channel, ADC_ATTEN_DB_11);
    
    // connect wifi
    appwifi_connect(cbs);
}

如果有帮助,请致电 ADC。

// transmit reading to server. Photoresistor is read here.
static void publish_reading(int temp, int hum) {
    char buffer[5];
    if (client != NULL && enabled) {
        esp_mqtt_client_publish(client, TEMP_TOPIC, itoa(temp, buffer, 10), 0, 1, 0);
        esp_mqtt_client_publish(client, HUM_TOPIC, itoa(hum, buffer, 10), 0, 1, 0);
        // average ADC value over 32 samples and send it
        int adc_val = 0;
        for (unsigned char i = 0; i < SAMPLE_CNT; i++) adc_val += adc1_get_raw(adc_channel);
        adc_val /= SAMPLE_CNT;
        esp_mqtt_client_publish(client, PHOTO_TOPIC, itoa(adc_val, buffer, 10), 0, 1, 0);
    }
}

警告指出

ADC_ATTEN_DB_11
已弃用。

c deprecated adc esp-idf
1个回答
0
投票

如果您查看手册中的ADC Oneshot Mode Driver,如果您搜索

ADC_ATTEN_DB
,您会发现:

枚举器

ADC_ATTEN_DB_12

ADC 的输入电压会衰减,测量范围扩大约 12 dB。

枚举器

ADC_ATTEN_DB_11

这已被弃用,其行为与
ADC_ATTEN_DB_12

相同

因此将

ADC_ATTEN_DB_11
替换为
ADC_ATTEN_DB_12

© www.soinside.com 2019 - 2024. All rights reserved.