42 lines
1.1 KiB
C++
Executable File
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);
|
|
}
|
|
}
|