Forum: PC-Programmierung Serielle Schnittstelle


von Zsolt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Möchte über RS232 mit einem Mega 8 kommunizieren! Habe die Baudrate 
eingestellt und kann nun vom Mega an den Computer senden!
Nun wollte ich es umgekehrt probieren, aber es geht nicht! Heute habe 
ich versucht zwei Computer miteinander zu verbinden! Ich benütze ein 
gekreuztes Serialkabel. Aber die Kommunikation funktioniert nicht! Der 
Empfänger bekommt ständig eine 0.
Kann mir bitte jemand helfen?

Anbei das Senderprogramm, das Empfängerprogramm funktioniert 100%ig!

MfG Zsolt

von Stefan (Gast)


Lesenswert?

Komplett habe ich es nicht geprüft, nur bis zu der ersten Ungereimtheit:
Du holst die alte Einstellung mit tcgetattr(), manipulierst die 
Parameter und... tust die manipulierten Parameter nicht mit tcsetattr() 
setzen

von Zsolt (Gast)


Lesenswert?

Danke für deine Antwort! Leider kenne ich mich mit diesen Funktionen 
nicht aus! Könntest du mir meine Fehler bitte erklären? Danke

MfG Zsolt

von Stefan (Gast)


Lesenswert?

Ich kann wie du auch nur in der Doku nachsehen (Manpages, Tutorials, 
Beispielsourcen).

Mir fällt halt auf, dass du die Voreinstellung vom System in eine 
Struktur oldtio einliest bzw. sicherst (tcgetattr).

Dann dass du deine Wunschwerte (Baudrate,...) in eine neue Struktur 
newtio einsetzt.

Und dann die Struktur mit den Wunschwerten dem System NICHT bekannt 
machst (kein tcsetattr).

Dann einen Übertragungsversuch machst (write).

Dann die oben gesicherte Struktur oldtio wieder dem System bekannt 
machst (tcgetattr).

Für mich steht fest, dass das System deine Wunschwerte nie gesehen hat 
und folglich nie einen wunschgemäßen Übertragungsversuch machen konnte.

von Karl H. (kbuchegg)


Lesenswert?

... oder anders ausgedrückt:

Du setzt zwar eine wunderschöne Struktur 'newtio' auf,
machst aber nichts damit.

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.