Liste der Anhänge anzeigen (Anzahl: 1)
Unverständliches Verhalten bei Bluetooth-Verbindung
Hallo,
dieses Arduino-Programm empfängt Text über eine serielle Schnittstelle von einem BT-Modul und schreibt diesen in den Seriellen Monitor:
Code:
int led = 13;
void setup()
{
Serial.begin(250000);
Serial2.begin(9600);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
}
void loop()
{
if (Serial2.available())
{
Serial.print("value = ");
String value = Serial2.readStringUntil('\n');
Serial.println(value);
if (value == "*10|9|2#")
{
digitalWrite(led, HIGH);
}
else if (value == "*10|11|3#")
{
digitalWrite(led, LOW);
}
}
}
Wenn ich diese Signale von einer App "Ardroid" aus dem PlayStore sende, erscheint "value = *10|9|2#" sofort auf dem SM.
Wenn ich diesen Text von einer mit dem AppInventor selber erstellten App sende, erscheint zuerst mit merkbarer Verzögerung "value = " und mit weiterer leichter Verzögerung dann "*10|9|2#".
Ich kann mir das nicht erklären, wie es möglich ist, dass das Arduino-Programm den gleichen Text empfängt, aber anders reagiert.
Den Befehlsblock im AppInventor zeigt das Bild. Was die App "Ardroid" macht weiß ich nicht.
Anhang 32408
vG
fredyxx
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
endlich habe ich die Ursache gefunden, die nichts mit AppInventor oder Klötzchen-Programmierung zu tun hat, und wenn man die Lösung kennt, primitiv ist!
In meiner ersten Frage seht ihr, dass ich beim Einlesen eines empfangenen Telegramms als Endezeichen ein \n erwarte.
Vom Tablet hatte ich gesendet:
Anhang 32445
Richtig ist aber:
Anhang 32446
Damit klappt nun alles super schnell und ich bin happy.
Trotzdem danke für eure Hilfeversuche.
vG
fredyxx