Forum: Mikrocontroller und Digitale Elektronik RS232 DTR ATmega328


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter H. (peter_hilleb)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

würde gern einen seriellen Drucker über einen ATmega328 ansteuern.
Tx und Rx habe ich über einen Max232 angeschlossen.

Der Drucker hat auch ein DTR Signal, das ich gerne auswerter würde um zu 
wissen dass er da ist. Dieses hat bei meinem Drucker 6V, denke aber dass 
es bei anderen Druckern vielleicht auch höher/tiefer sein kann.

Da es aber logisch 1 als +6V präsentiert kann ich es nicht über den 
RS232 wandeln.

Wie bekommt man denn so ein Signal an den ATmega?

Danke für jede Hilfe.

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
DTR sollte bei einem RS232C Drucker ebenso die V24 Pegel haben.

Ist ein Defekt auszuschließen?

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Peter H. schrieb:
> Dieses hat bei meinem Drucker 6V, denke aber dass es bei
> anderen Druckern vielleicht auch höher/tiefer sein kann.

Natürlich, das ist ein Signal mit RS232-Pegel, d.h. alles zwischen +/- 
15V ist zulässig.

> Da es aber logisch 1 als +6V präsentiert kann ich es nicht über den
> RS232 wandeln.

Natürlich kannst Du das. Du musst halt nur den Ausgang Deines 
RS232-Empfängers invertiert auswerten.

Wo ist das Problem? Das ist schließlich nur Software, ob Du nun einen 
I/O-Pin Deines µC auf 0 oder auf 1 abfragst, macht nun wirklich keinen 
Unterschied.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Peter H. schrieb:
> Tx und Rx habe ich über einen Max232 angeschlossen

Dann nimm doch den anderen Receiver des MAX und hänge ihn zwischen DTR 
und einen beliebigen GPIO des AVR.

von Poilm (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Oder stelle den Drucker auf Xon/xoff und nutze Software Handshake.
Laufen wird er wohl auch Problemlos ohne Handshake..

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Poilm schrieb:
> Oder stelle den Drucker auf Xon/xoff und nutze Software Handshake.
> Laufen wird er wohl auch Problemlos ohne Handshake..

DTR ist nicht für die Datenflußkontrolle. Dafür dient RTS/CTS.

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Peter H. schrieb:
> Da es aber logisch 1 als +6V präsentiert kann ich es nicht über den
> RS232 wandeln.
>
> Wie bekommt man denn so ein Signal an den ATmega?

Man nutzt den freien (Empfangs-)Kanal am MAX232, denn +-6V sind RS232 
konform.

von hoppenpichler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas E. schrieb:
>> Oder stelle den Drucker auf Xon/xoff und nutze Software Handshake.
>> Laufen wird er wohl auch Problemlos ohne Handshake..
>
> DTR ist nicht für die Datenflußkontrolle, sondern. Dafür dient RTS/CTS.


Mit DTR signalisiert der Drucker seine Empfangsbereitschaft, natürlich 
ist das nicht Datenflusskontrolle,sondern "Steuerung", daher XON/XOFF.

DTR kann erst einmal einfach ignoriert werden, das macht den Test 
einfacher.

Sein Problem wird sein, einen entsprechenden Datenstrom zu senden um den 
Drucker zum Drucken zu bewegen.
Früher stand sowas komplett in den dicken Handbüchern (HP 500).

Ich würde den Drucker erst mal seriell an einen PC hängen und "Hello 
World" drucken und den Datenstrom abfangen und analysieren..

Das wird insgesmt keine einfache Nummer..

Beitrag #5120377 wurde von einem Moderator gelöscht.
von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Thomas E. schrieb:
> DTR ist nicht für die Datenflußkontrolle. Dafür dient RTS/CTS.

Da das sowieso beides Datenendgeräte sind, bewegt sich das sowieso weit 
außerhalb der RS2232C Spezifikation.

Bondrucker zeigen gerne über DTR an, dass Papier alle ist. Und dann muss 
der Datenfluss auch versiegen.

Beitrag #5120398 wurde von einem Moderator gelöscht.
Beitrag #5120405 wurde von einem Moderator gelöscht.
Beitrag #5120415 wurde von einem Moderator gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.