Просмотр исходного кода

Merge branch 'bugfix/fix_adc_io_init_bug_for_idfv4.1' into 'release/v4.1'

driver(adc): fix adc io init bug for idfv4.1 (backport v4.1)

See merge request espressif/esp-idf!8714
Wang Jia Lin 5 лет назад
Родитель
Сommit
6cbc7dc2cd
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      components/driver/adc.c

+ 6 - 3
components/driver/adc.c

@@ -144,14 +144,16 @@ esp_err_t adc_gpio_init(adc_unit_t adc_unit, adc_channel_t channel)
 
         ADC_CHECK_RET(rtc_gpio_init(gpio_num));
         ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
-        ADC_CHECK_RET(gpio_set_pull_mode(gpio_num, GPIO_FLOATING));
+        ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
+        ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
     }
     if (adc_unit & ADC_UNIT_2) {
         ADC_CHANNEL_CHECK(ADC_NUM_2, channel);
         gpio_num = ADC_GET_IO_NUM(ADC_NUM_2, channel);
         ADC_CHECK_RET(rtc_gpio_init(gpio_num));
         ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
-        ADC_CHECK_RET(gpio_set_pull_mode(gpio_num, GPIO_FLOATING));
+        ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
+        ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
     }
     return ESP_OK;
 }
@@ -385,7 +387,8 @@ static esp_err_t adc2_pad_init(adc2_channel_t channel)
     ADC_CHECK_RET(adc2_pad_get_io_num(channel, &gpio_num));
     ADC_CHECK_RET(rtc_gpio_init(gpio_num));
     ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
-    ADC_CHECK_RET(gpio_set_pull_mode(gpio_num, GPIO_FLOATING));
+    ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
+    ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
     return ESP_OK;
 }