Hallo, ich möchte an einen Atmega 16 ein Display anschließen und ansteuern. Für das Display möchte die Dateien NokiaLCD.c und NokiaLCD.h verwenden. Das Display ist an Port B angeschlossen. Meine Fragen ist nun: Warum bekomme ich folgende Fehlermeldung? Severity Code Description Project File Line Error 'PORTB' undeclared (first use in this function) Atmega 16 tea5767 C:\Users\Admin\Documents\Atmel Studio\7.0\Atmega 16 tea5767\Atmega 16 tea5767\NokiaLCD.c 214
Findest du nicht das WinAVR20090313 etwas alt ist? IMHO fehlt tatsächlich die <avr/io.h> in der Datei... Hans schrieb: > Nein muss ich das? Natürlich, woher soll der Präprozessor sonst wissen was PORTB ist?
Hans schrieb: > Nein muss ich das? Ja, musst du. Jedes C-File wird für sich selbst und unabhängig von allen anderen vom Compiler übersetzt. Wenn du in deinem C-File ein #include machst, dann interessiert das den Compiler nicht die Bohne, wenn er sich nokia.c vornimmt.
OK danke für die Hilfe!!! Ja das avr/io.h habe ich nicht eingegeben. Ja jetzt geht es. Jetzt muss ich schauen, dass ich die richtigen Funktionen aufrufe, damit ich die Werte auf dem Display ausgeben kann.
Hans schrieb: > Ja das avr/io.h habe ich nicht eingegeben. Stattdessen aber iom8v.h. Nimm das raus. Und bitte das nächste mal den Quelltext auch als Text und nicht als Bild.
Könnt ihr mir hier auch nochmal helfen? Hab hier noch eine Fehlermeldung die ich nicht verstehe.
Hans schrieb: > Könnt ihr mir hier auch nochmal helfen? > > Hab hier noch eine Fehlermeldung die ich nicht verstehe. Auch die Fehlermeldungen kann man unten im Studio-Fenster per Copy&Paste hier als Text reinkopieren. Hat den Vorteil, dass man danach suchen kann - Google oder Forumssuche. Die Variable UpdateLcd scheint nicht zu existieren, d.h. sie wurde nicht definiert.
Das extern kannst du weglassen, wenn du die Variable entweder global definierst oder wenn sie nur in einer Datei bekannt sein soll. Einem Char weist man aber kein Bool zu. Probiere mal: #include <stdbool.h> bool UpdateLCD Oder wenn die Datei in einer Funktion dauerhaft erhalten bleiben soll: static bool UpdateLCD Nachtrag: UpdateLCD = true; oder UpdateLCD = false;
Hans schrieb: > Wird hier so die Variable nicht definiert? > > > extern unsigned char UpdateLcd; Nein, damit wird sie deklariert, nicht definiert. Übersetzt heißt das: "Es gibt irgendwo eine Variable vom Typ unsigned char namens UpdateLcd". Schnapp Dir ein C-Buch und beginne zu lernen. Durch 1000 Fragen in einem Forum lernt man keine Sprache.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.



