连接蓝牙时ESP32模拟引脚不读取

ESP32 Analog pin not reading when bluetooth is connected

我一直在使用 ESP32 并在 Arduino 中编写代码。但是,当我启用蓝牙时,GPIO4 和 GPIO15 无法读取模拟输入。我已在两个引脚上连接红外 LED 并读取模拟信号。如果不使用蓝牙代码,ESP32 正在读取模拟信号并将其显示在串口监视器上。如果使用以下蓝牙代码,则两个引脚上的读数均显示为 255(读数为 5v。是的,它们目前为 5v,并将电平转换为 3.3v)。

有人可以检查并提出解决方案吗?

我已经切换传感器,移除它们,无论我做什么,读取蓝牙时读数都是一样的

蓝牙代码:

void init_bluetooth() {
      ESP_BT.begin("EKA Robot"); //Name of your Bluetooth Signal
      Serial.println("Bluetooth Device is Ready to Pair");
}

红外编码:

    // Read Infrared LED on GPIO4. Similar function exists to read GPIO15
    int readIR() {
      int sensorValue = analogRead(oaPinL);
      delay(5);
      sensorValue = map(sensorValue, 0, 4095, 0, 255);
      return (sensorValue);
    }

我希望读取传感器值。但是显示都是255,是不是被拉高了?

ESP32芯片中有两个A/D转换器,ADC1和ADC2。 Wi-Fi 或使用蓝牙时不能使用 ADC2 引脚。连接到 ADC1 的引脚可以工作。这些是 GPIO32-36 和 GPIO39。