[英]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.