Forum: Compiler & IDEs Anfängerfrage zum UART-Empfang


von Christoph (Gast)


Lesenswert?

Hallo alle zusammen,
ich bin noch Anfänger, habe aber schon die eine oder andere Sache
hinbekommen (Handy ansteuern, 3310 Display, ...). Jetzt möchte ich
Befehle die ich vom Terminalprogramm zum Controller sende auswerten.
Ich zerbreche mir schon seit geraumer Zeit den Kopf und bekomme keinen
Anfang bei der Sache. Beispiel: "AN PA1" senden und LED an PA1 geht
an, "AUS PA1" und die LED geht wieder aus. Kann mir jemand einen
Denkanstoss  geben wie ich die empfangenen Daten verarbeiten kann?

Danke für jede Hilfe
Christoph

von Alex (Gast)


Lesenswert?

Machs nicht so kompliziert und codiere die Befehle.

"An PA1" -> 0x11
"Aus PA1" -> 0x22

Im Empfangsinterrupt prüfst du einfach:

if (UDR == 0x11)
//PA1 an
if (UDR == 0x22)
//PA1 aus

von Nolte (Gast)


Lesenswert?

Hallo,
wie vermeide ich denn, wenn zufällig ein 0x11 oder0x22 gesendet wird,
dass dann PA1 ein oder ausgeschaltet wird?

von Dirk (Gast)


Lesenswert?

Hi,

am besten ein kleines protokoll definieren. Mit zum Beispiel:
Startbitfolge , Datalength , data[datalength], crc check ,
stopbitfolge

Mfg
Dirk

von Christoph (Gast)


Lesenswert?

Hi,
Danke für eure Tipps aber macht euch nich mehr den Kopf um diese Sache.
Ich hab mir ne einfache Möglichkeit ausgedacht. Ich addiere einfach die
Zeichen in einer Variable und wenn ein Komma kommt, dann werte ich
diese Variable aus. Nachteil an der Sache ist, dass durch andere
Tastenkombinationen das gleiche Ergebnis rauskommt oder man die Zeichen
durcheinander schreiben kann (on = no = hu). Für mich reichts aber auf
jeden Fall.

Gruß
Christoph

von Michael (Gast)


Lesenswert?

Schreib lieber einmal ein ordentliches Protokoll. Du wirst damit immer
besser fahren. Vorallem bei Projekten die noch kommen, kannst Du auf
Deine heute gemachte Arbeit zurückgreifen....

von Christoph (Gast)


Lesenswert?

Hast recht. Hab schonmal angefengen.

von Peter Dannegger (Gast)


Lesenswert?


von RedZac (Gast)


Lesenswert?

Versuch es mal mit der Batronix seite. Da kiegst du erstens komplettes
Software (Shareware) und hast die Befehle für die 8051`er familie noch
mals mit Kommentar. Es gibt sogar ein gutes Handbuch dafür mit
reichliche Beispiele.
www.Batronix.com
Gruß an alle

von Mike Schaub (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

habe mal ein kleines Protokoll für die UART geschrieben.
Wer Lust hat kann es ja erweitern.

Mit

PORTA=?
PORTA:=255
PORTB=?
PORTB:=123

und anschliessendem <Return> können Ports gesetzt und abgefragt
werden.
Gibt's auch als Download unter www.microcontroller-starterkits.de

Gruß
Mike

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.