Forum: Mikrocontroller und Digitale Elektronik zwei Arduino Serielle Verbindung spinnt


von Norbert W. (goldwing)


Angehängte Dateien:

Lesenswert?

Hallo,
 ich habe ein Problem mit der Seriellen Verbindung zwischen zwei 
Arduinos.
Der erste Arduino nimmt Daten auf und steuert mehrere Messgeräte am I2C 
Bus der zweite Arduino soll die Daten auf einem LCD mit Touch anzeigen 
und Befehle zurückgeben. Die Arduinos sind ca 4m von einander entfernt.

Ich habe die beiden Sketch angehängt dies sind nur Testverbindungen.

Jetzt das Problem es kommen oft falsche Zeichen mit. Ich habe schon 
verschiedene Bautraten versucht immer das gleiche unter 1200 Baut 
verhaspelt sich das ganze völlig.

Empfangen wird sowas

-~-7450-
-7451m-7454-
-7455-
-7458-
-7459-
+KK55
-7463-
55
-7467-
-w-7471-
-7472-}-7475-
-7476-

von Felix C. (felix_c13)


Lesenswert?

Mal ne kurze Frage? SInd die beiden mit mAsse verbunden? Kleiner 
Anfänger-Fehler, mit grossen Auswirkungen ;) DIe Baudraten müssen bei 
beiden natürlich gleich sein!

Was ich beim besten Willen nicht verstehen kann, ist wieso du nicht auf 
8N1 arbeitest. Gerade wenns nicht klappt. Der COde scheint aber iO zu 
sein.

von Michael U. (amiga)


Lesenswert?

Hallo,

welche Arduinos?
An der seriellen hängt z.B. beim UNO und Nano der UART-USB-Adapter und 
stört.
Dann eben Softserial auf anderen Pins nehmen.

Die Frage warum 7N1 kam ja schon.

Gruß aus Berlin
Michael

von Norbert W. (goldwing)


Lesenswert?

Hallo,

ich habe alle 7Nx und 8Nx ausprobiert natürlich bei beiden immer das 
gleiche.
Masse ist verbunden.

Im der Versuchsphase liegen die beiden Arduino Mega 256 auf dem Tisch 
und sind nur Rx-Tx  Tx-Rx und Masse verbunden.

Gruß aus Peine

Norbert

von Mario (Gast)


Lesenswert?

Das delay(200) stört das SerialEvent(). Dadurch gehen Zeichen verloren.

von Norbert W. (goldwing)


Lesenswert?

Hallo,

das mit dem delay(200) verstehe ich nicht das ist doch im Moment nur der 
Sender der verzögert wird damit ich das am serial Monitor lesen kann.
Auf der Empfänger Seite gibt es den Delay nicht.

Ich dachte das auch das Delay vom Interrupt unterbrochen wird.

Später wird das durch einen Timer gesendet.

Gruß  Norbert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.