对分配 (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
已弃用。
如果您查看手册中的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
。