www.mikrocontroller.net

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


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nolte (Gast)
Datum:

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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Mfg
Dirk

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast recht. Hab schonmal angefengen.

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein Beispiel für den 8051:

http://home.tiscali.de/peterd/appl/soft/c51/comman...


Peter

Autor: RedZac (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike Schaub (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.