UART zu RS232 über One-Wire (Atmega644P)

OP #2559969
Hallo an alle,
diese Schaltung: 
http://www.mikrocontroller.net/attachment/preview/24979/page_snapshots/001.png 
nutze ich für den One-Wire-UART zwischen PC und einem Atmega644P.
Über Software-UART (z.B. PeDa's Bootloader) läuft die Schaltung auch 
ohne Probleme, aber ich möchte den Hardware-UART verwenden.
Ich habe schon versucht, RX und TX mit einer Diode vor TX (mit Kathode 
bei TX) zu verbinden, aber es kommen am PC nur Steuerzeichen heraus.
Wenn ich RX und TX direkt verbinde, funktioniert die Übertragung 
überhaupt nicht.

Müssen die Pegel invertiert werden? Oder wie funktioniert das One-Wire 
beim Software-UART des Bootloaders von PeDa?

Vielen Dank schonmal im Voraus!
LG
electricsheep
Gast #2565282
Die Pegel müssen invertiert werden.

Mich erstaunt, dass keine Pegelwandlung TTL auf RS232 nötig ist. 
Scheinbar rettet der Serienwiderstand R2 in Verbindung mit den 
Schutzdioden den kleinen Attiny45.

Zur UART Funktion auf einer Leitung, kann ich nur raten. Ich erwarte, 
dass man bei der UART Initialisierung und beim Betrieb aufpassen muss. 
Fullduplex d.h. gleicheitig RX und TX wird IMHO nicht funktionieren. 
Halbduplex kann ich mir vorstellen. Also wechselweise entweder auf RX 
oder TX initialisieren und dann entweder Empfangen oder Senden.
Gast #2565301
>Die Pegel müssen invertiert werden.

Jupp, und das geht mit dem Hardware UART nicht.

>aber ich möchte den Hardware-UART verwenden.

Dann mach es richtig, so mit MAX232 und allem drum und dran.
Null Probleme in Zukunft. Was soll diese Trickschaltung?
Kabel kosten fast nichts. Und so ein Mäxchen auch nicht.
Dann hast du wenigstens was vernünftiges was immer funktioniert.
OP #2573935
Krapao schrieb:
> Zur UART Funktion auf einer Leitung, kann ich nur raten. Ich erwarte,
> dass man bei der UART Initialisierung und beim Betrieb aufpassen muss.
> Fullduplex d.h. gleicheitig RX und TX wird IMHO nicht funktionieren.
> Halbduplex kann ich mir vorstellen. Also wechselweise entweder auf RX
> oder TX initialisieren und dann entweder Empfangen oder Senden.

Da hast du wirklich recht, das ist sehr schwierig zu realisieren.

holger schrieb:
> Dann mach es richtig, so mit MAX232 und allem drum und dran.
> Null Probleme in Zukunft. Was soll diese Trickschaltung?
> Kabel kosten fast nichts. Und so ein Mäxchen auch nicht.
> Dann hast du wenigstens was vernünftiges was immer funktioniert.

Dir stimme ich ebenfalls zu. Inzwischen habe ich tatsächlich einen 
MAX232 und ein 4-poliges Kabel verwendet.
Damit hatte ich bis jetzt wirklich noch keine Probleme. ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.