Forum: Mikrocontroller und Digitale Elektronik RS232 DTR ATmega328


von Peter H. (peter_hilleb)


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 Einer K. (Gast)


Lesenswert?

DTR sollte bei einem RS232C Drucker ebenso die V24 Pegel haben.

Ist ein Defekt auszuschließen?

von Rufus Τ. F. (rufus) Benutzerseite


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)


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)


Lesenswert?

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

von Thomas E. (thomase)


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)


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)


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 Einer K. (Gast)


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.
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.