Монитор порта
Отправляем сообщения на компьютер и управляем платой командами.
Через тот же USB-кабель плата может обмениваться текстом с компьютером. Откройте Инструменты → Монитор порта и выберите скорость 115200.
const int LED = 2;
int seconds = 0;
void setup() {
Serial.begin(115200);
pinMode(LED, OUTPUT);
Serial.println("Привет от ESP32! Напишите 1 или 0.");
}
void loop() {
// читаем команды из монитора порта
if (Serial.available()) {
char c = Serial.read();
if (c == '1') { digitalWrite(LED, HIGH); Serial.println("Светодиод включён"); }
if (c == '0') { digitalWrite(LED, LOW); Serial.println("Светодиод выключен"); }
}
// и раз в секунду сообщаем, сколько прошло времени
static unsigned long last = 0;
if (millis() - last >= 1000) {
last = millis();
Serial.printf("Прошло секунд: %d\n", ++seconds);
}
}Что здесь нового
Serial.available()— сколько символов пришло с компьютера;Serial.read()забирает один.millis()— сколько миллисекунд прошло с включения. Проверкаmillis() - last >= 1000позволяет делать что-то раз в секунду, не останавливая программу, как это делаетdelay().Serial.printf()работает как в языке C:%d— целое число,%.2f— дробное с двумя знаками.
Нажмите на плате кнопку EN — плата перезагрузится, и в мониторе появятся служебные строки вроде rst:0x1 (POWERON_RESET). Это нормально: так ESP32 сообщает причину запуска.
Выводы GPIO1 (TX0) и GPIO3 (RX0) соединены с CH340. Если подключить к ним свою схему, пропадёт монитор порта, а иногда и прошивка.