Anfängerfrage zum UART-Empfang

Gast #182004
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
Gast
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
Gast
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
Gast
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....
Gast
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
Gast
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
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.