-
-
Erfahrener Benutzer
Roboter-Spezialist
Ich weiß nicht ob SBUF und RI bei dir die gleichen Register sind wie beim F300. Dazu musst du schon mal etwas in deiner Dokumentation schnüffeln. Im Datenblatt hatten die den UART0 auch immer mit RI0 betitelt (siehe Seite 90). Die Definition könnte auch in der Headerdatei zu deinem Kontroller stehen. Also nimm lieber die aus dem Header. Mein Code war nur als Beispiel gemeint.
sfr SBUF = 0x99;
sbit RI = 0x98;
sollten bei dir dann eigentlich nicht nötig sein.
nb_ bedeutet nicht blockierend und b_ logischerweise blockierend.
Du benötigst nur eins von beiden, je nach deiner Strategie.
Er läuft also in der main bis b_getkey und hängt dann dort für alle Ewigkeit bis das der Strom euch scheidet.
Das letzte was du siehst sollte also erst mal In b_getkey... sein.
Wenn du bis dahin kommst läuft dein Programm soweit. Die Funktionsrückgaben solltest du dann in der main in einem Print ausgeben.
Aber als erstes sollten deine SFR richtig zugewiesen sein. Sonst kommt da nie was an und natürlich muss auch hardwaremäßig an P0.5 was wackeln. Hast du das mal überprüft? Portseitig muss man da ja nichts weiter einstellen, wenn ich mich recht erinnere. Nur der Crossbar sollte passen. Das musst du aber alleine Überprüfen. Ich kann nur immer wieder betonen: Datenblatt lesen!
PS: es kann sein, dass es eine Funktion getkey() bereits gibt. Wenn ja dann sieh bitte dort mal nach, welche Register die genommen haben, das geht meist am schnellsten
sast
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen