-
-
Erfahrener Benutzer
Roboter Experte
So auf den ersten Blick würde ich dazu 3 Dinge sagen:
1) Man schreibt keinen Code in eine Header-Datei, außer in Ausnahmefällen, wie z.B. Inline-Funktionen.
2) Deine if-else-Struktur in main stimmt nicht. Das else bezieht sich nur auf das zweite if. Bei 'A' wird daher zwar PA0 auf Eins gesetzt, sofort danach aber wieder zurückgesetzt auf Null. Wenn du vor das zweite if noch ein else schreibst, hast du das, was du wohl eigentlich haben wolltest. Dann wird "PORTA = 0x00;" nur ausgeführt, wenn Daten weder 'A' noch 'a' ist. Ich würde das übrigens eher mit switch-case machen, insbesondere wenn noch mehr Kommando-Buchstaben dazukommen sollen.
3) Nun der eigentliche Grund, warum sich bei dir wohl gar nichts tut. Du hast den UART-Receive-Interrupt nicht enabled.
UCSR1B |= (1<<RXCIE1);
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen