簡體   English   中英

ESP32 連接到 GPS 模塊。 除非按住重置按鈕,否則不會串行輸出

[英]ESP32 Connected to GPS module. No serial out unless holding down reset button

我是 Arduino 的新手,遇到了一些麻煩。 我有一個 16E TTL GPS 模塊連接到我的 NodeMCU ESP32 板上的 RX 和 TX 引腳,並且有一個簡單的 Arduino 草圖,我將數據寫入串行監視器 output。

String data = "";

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  data = Serial.read();
  Serial.print(data);
  delay(500);
}

當我按住板上的 RST 按鈕時,我只在串行監視器中獲取 GPS 數據,否則每個周期都獲取“-1”的 output。

串行監視器輸出

我曾嘗試查找問題,但似乎找不到解決方案,並且我已嘗試詳細了解如何使用 serial,但我確實感到困惑。 我希望每個循環都打印數據。

您正在使用Serial來發送 output 調試消息並與 GPS 通話。

您將 GPS 連接到的 RX 和 TX 引腳與 USB 串行芯片連接到的串行端口相同。 每次你寫一些Serial的東西時,它都會同時到達 USB 端口和 GPS。所以當你從 GPS 讀取任何東西時,你會立即將它寫回它。

您一次只能將串口用於一件事。 因為它連接到 USB 串行芯片,所以最好的辦法是為 GPS 使用第二個串行端口。

例如:

#define RX1_PIN 9
#define TX1_PIN 10

String data = "";

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial1.begin(9600, SERIAL_8N1, RX1_PIN, TX1_PIN);
}

void loop() {
  data = Serial1.read();
  Serial.print(data);
  delay(500);
}

您應該將 RX_1PIN 和 TX1_PIN 設置為您方便的任何引腳號; 只需確保它們是您板上可用的引腳,並且 未用於其他用途

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM