Forum: Mikrocontroller und Digitale Elektronik Kommunikation Zwischen AT90S8515 und Terminal


von Sebastian U. (sebi85)


Angehängte Dateien:

Lesenswert?

Im Anhang könnt ihr sehen wie ich etwas über den µC auf dem Terminal
ausgeben.
Jetzt möcht ich im Terminal z.B. ein Wort eingeben, mit Enter
bestätigen, dann soll es an den µC geschickt werden und wieder auf dem
Terminal ausgegeben werden.

Leider weis ich nicht wie ich vom Terminal aus and den µC etwas
Schicken kann.

Bauche ich dafür spezielle Befehle innerhalb des Terminals und wenn ja
welche?

von Martin B. (methusalem)


Lesenswert?

Hallo,

bin selber Anfänger. Aber ich meine, das dieses Kapitel hier im
Tutorial sich mit dem Thema beschäftigt:

http://www.mikrocontroller.net/tutorial/uart

--
Martin

von Sebastian U. (sebi85)


Lesenswert?

Leider verstehe ich das nur zum Teil.

Woher weis das Terminal wenn ich Enter drücke, dass es das Wort
speichern soll und brauche ich auch dafür spezielle Befehle innerhalb
des Terminals?

von Jens (Gast)


Lesenswert?

Normalerweise werden doch die Zeichen, die du im Terminal eingibst,
automatisch über die serielle Schnittstelle an den µC gesendet. Die
Enter-Taste repräsentiert dabei auch nur ein spezielles Zeichen,
welches du im µC auswerten mußt.

Auf dem µC schreibst du am besten eine Interrupt-Routine, die bei
Empfang eines Zeichens angesprungen wird (automatisch). In dieser
Routine mußt du dann nur das empfangene Zeichen wieder in das
Datenregister (UDR beim AVR) des UARTs schreiben, und es wird
automatisch zurück an das Terminal gesendet.


Jens

von Ppp M. (sanic)


Lesenswert?

Genau,
alles was du eingibst wird wieder ausgegeben und der cursor wird einen
nach rechts geschoben.
Siehe hierzu die Application Note von Atmel mit dem VT100 compatible
Terminal.

Grüße

von Sebastian U. (sebi85)


Lesenswert?

Zum Senden muss ich ja das TXEN aktivieren, beim Empfangen das RXEN.
Wann weis ich jetzt wann das Senden vorbei ist, damit ich das RXEN
aktivieren kann?

von larsen (Gast)


Lesenswert?

na wenn du Enter drückst. Das wolltest du doch? Wenn der µC das
empfangene Zeichen als "Enter" interpretiert, dann kann er eine
Ausgabe-Schleife ausführen.

von Hannes L. (hannes)


Lesenswert?

> Zum Senden muss ich ja das TXEN aktivieren, beim Empfangen das RXEN.
> Wann weis ich jetzt wann das Senden vorbei ist, damit ich das RXEN
> aktivieren kann?

UART ist voll duplex, kann also quasi gleichzeitig senden und
empfangen. Beides geschieht im Hintergrund per Hardware.

Um (vom AVR aus) zu senden, schreibst du (nach Überprüfen der
Sendebereitschaft) das zu sendfende Datenbyte ins UDR-Register.

Wurde (im AVR) ein Byte empfangen, so wird das zugehörige Flag (siehe
Datenblatt, UART-Register) gesetzt und ggf ein Interrupt ausgelöst. In
der zugehörigen ISR liest man dann das empfangene Byte aus UDR aus.

Das Thema U(S)ART wurde in den letzten Tagen hier im Forum ausgiebig
diskutiert (auch mit Codebeispielen), blättere doch mal etwas zurück.

...

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.