Serial.println печатает сразу после предыдущей строки в той же строке
Я написал serial.println в своем коде, но строка была напечатана в той же строке на последовательном мониторе.
#include <WiFi.h>//для подключения esp32 к Wi-Fi
#include <TinyGPS++.h>//для получения данных GPS с GPS-модуля neo-6m
#define WIFI_SSID "Airtel_pawa_4182"//название Wi-Fi простыми словами
#define WIFI_PWD "Ahuja6230"//пароль Wi-Fi
TinyGPSPlus GPS;//создание объекта GPS из библиотеки tinygps++
void setup() {
Serial.begin(9600);
//настройка Wi-Fi{
WiFi.begin(WIFI_SSID, WIFI_PWD);
Serial.println("connecting to wifi");
while(WiFi.status() != WL_CONNECTED){
Serial.println(".");
delay(1000);
}
Serial.println("Successfully connected to ");
Serial.print(WIFI_SSID);
//}
//настройка GPS{
Serial2.begin(9600);
delay(1000);
Serial.println("ESP32-GPS Tracker");
Serial.println("Initializing...");
//}
}
void loop() {
}
В этом коде строка «esp32-gps tracker» выводится сразу после предыдущей строки в той же строке на последовательном мониторе.
Я пробовал запустить код снова и снова, но это не сработало...
Я использую плату esp32 (просто деталь)
Что мне делать?
@Yug Ahuja, 👍1
3 ответа
Лучший ответ:
Предыдущие операторы печати следующие:
Serial.println("Successfully connected to ");
Serial.print(WIFI_SSID);
SSID не будет завершен новой строкой. Возможно, вы имели в виду:
Serial.print("Successfully connected to ");
Serial.println(WIFI_SSID);
?
При отправке текста по последовательной линии принято
завершайте каждую строку каким-либо маркером конца строки: вы печатаете
какой-то текст, и сразу после него EOL, чтобы обозначить, что «это
теперь полная строка». Соответственно, метод Serial.println()
печатает
запрошенный текст, сразу за которым следует маркер EOL (в данном случае
случай, CR+LF).
Из вашего вопроса следует, что вы, похоже, думаете, что EOL немедленно предшествует тексту. Это не так.
См. ответ JRobert, чтобы узнать правильный способ построения линии из нескольких
операторы печати: println()
следует использовать для последней части, а не для
первый.
В продолжение предыдущего ответа, ваше решение:
- измените предыдущий Serial.print() на Serial.println() так, чтобы за этим текстом следовал конец строки, или
- добавьте \n в начало строки, с которой у вас возникла проблема, чтобы она началась с новой строки, чтобы компенсировать «отсутствующую» новую строку в предыдущем Serial.print().
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Ошибка "'Serial' does not name a type"
- Построение графика на Python с использованием Tkinter Canvas
- Команда strtok() с Serial связью
- Как отправить целое число через pyserial с Python на Arduino и получить тот же результат?
- Сделать плату Arduino одновременно и USB-накопителем, и клавиатурой?
- Ошибка 'Serial' was not declared in this scope
- Как изменить переменную при нажатии кнопки, подключенной к контакту 2