乐鑫技术交流
直播中

张鑫

7年用户 1002经验值
私信 关注
[问答]

为什么ESP32-PICO-D4的UART端口U2TXD/U2RXD会干扰蓝牙通信?

在我的一个原型设计中,我使用 ESP32-WROOM-32D 的 U2TXD/U2RXD 串行端口与另一个 MCU 和 U0TXD/U0RXD 引脚进行通信,以使用 FTDI 板对其进行编程并通过 UART(Arduino IDE,串行监视器)。我还使用蓝牙通信将一些数据发送到我的 PC。它运作良好。但现在我想在我的最终设计中使用 ESP32-PICO-D4。我也有一个开发板 (ESP32-PICO-KIT),我已经用 PICO 测试了相同的代码。问题是我的电脑无法再发现蓝牙连接。但是,如果我注释掉 U2TXD/U2RXD 串行端口的声明(代码的第 7 行),我的 PC 就可以检测到蓝牙设备。知道为什么它会这样以及如何解决它吗?

我的代码(Arduino IDE):

代码:全选
#define RXD2 16  // UART2 of ESP32
#define TXD2 17  // UART2 of ESP32

#include "BluetoothSerial.h"

BluetoothSerial SerialBT;

void setup() {
  Serial.begin(115200); // Print over UART
  Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);  //Serial2.begin(baud-rate, protocol, RX pin, TX pin); From the PIC MCU
  SerialBT.begin("AAAA");
}

void loop() {
  //while (Serial2.available()) {

    char sensor_data= Serial2.read();
    Serial.print(sensor_data);
    SerialBT.print(sensor_data);
  }
}



                        
                                                                        
                                                                        
                                               

回帖(1)

连炜帆

2023-3-1 10:48:32
由于PICO对flash的连接方式不同,GPIO16和GPIO17用于连接flash。SD_DATA2 和 SD_DATA3 可用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分