GruppeC/firmware/esp_test/esp_test.ino

42 lines
1.1 KiB
C++
Executable File

// Diagnose: schickt "AT" mit verschiedenen Baudraten an das ESP und zeigt die Antwort auf dem LCD.
// Verkabelung wie im Hauptsketch: ESP TX -> Uno Pin 0, ESP RX -> Uno Pin 1 (beim Upload abziehen!)
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
const long raten[] = {115200, 9600, 74880, 57600, 38400};
void setup() {
lcd.begin(16, 2);
lcd.print("ESP Test");
delay(3000); // ESP booten lassen
}
void loop() {
for (uint8_t i = 0; i < 5; i++) {
Serial.begin(raten[i]);
while (Serial.available()) Serial.read();
Serial.print(F("AT\r\n"));
char antwort[17];
uint8_t n = 0;
unsigned long start = millis();
while (millis() - start < 1500 && n < 16) {
if (Serial.available()) {
char c = Serial.read();
antwort[n++] = (c >= 32 && c < 127) ? c : '.'; // nicht druckbare Zeichen als Punkt
}
}
antwort[n] = 0;
lcd.clear();
lcd.print(raten[i]);
lcd.print(" Byte:");
lcd.print(n);
lcd.setCursor(0, 1);
lcd.print(n ? antwort : "keine Antwort");
Serial.end();
delay(2500);
}
}