Zahlen über serielle Schnittstelle versenden

Hallo, ich bin noch unerfahren auf dem Gebiet der Seriellen Kommunikation. Ich will eine Zahl an einen anderen Arduino schicken und ich hab keine Ahnung wie. Ich habe mir nereits mehrere Tutorials angeschaut und komm trotzdem nicht weiter. Kann mir bitte jemand helfen?

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

du schreibst Serial.println(123); und in anderen Seite:

int x=0;
if(Serial.available() > 0 ) x = Serial.parseInt();

andere Methode ist die Bytes zu schicken:

int x = 123;
Serial.write(x, sizeof(x));

dann am Empfenger:

int x=0;
while(Serial.available() > 0 ) x = x * 256 + Serial.read();

Wenn du eine Zahl im Bereich von 0-255 hast ist das relativ einfach. Das kannst du als Byte übertragen.

Aber wenn's größer werden soll fangen die Fragen an... Wo fängt die Zahl an, wie lang ist die und wo hört die auf? Welche Codierung? ASCII, big Endian, little Endian oder ganz was anderes?

Was wenn mehrere Zahlen zu übertragen sind?

Eine Idee ist es die Zahl in ein JSON-Objekt zu verpacken und das zu übertragen.

1 Like

erzähl mal mehr: wieso willst du das? wie weit ist die Entfernung? hast du schon Sketches?

Zaklen als Klartext schicken, \n zum Trennen, dann tust du dir leicht mit dem Debuggen.

1 Like

Wie gross soll denn Deine Zahl sein?
Und hast Du eine Vorgabe wie Du erkennst, wann die Übertragung beginnt zu ende ist?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.