Hallo, benötige etwas hilfe. Ich möchte gerne für die Initialiesierung verschiedener Hardware die Auswahl durch den Präprozessor durchführen. Ist dies in der Form möglich? void init_port(void) { #if defined(_AVR_ATmega88pa_) DDRB = 0x00; PORTB = 0xFF; DDRC = 0x03; PORTC = 0x4F; DDRD = 0x00; PORTD = 0xFF; #else //Atmega644/644pa DDRA = 0x07; PORTA = 0xF8; DDRB = 0x01; PORTB = 0xFF; DDRD = 0x00; PORTD = 0xFF; PORTC = 0x03; #endif } bekomme beim Compilieren die Meldung DDRA undeclared Ich danke für eure Hilfe jack
>...etwas hilfe.
Na mal sehen.
Was machst Du denn im Normalfall, also ohne die Absicht die Du nun hast,
wenn diese Fehlermeldung kommt?
io.h ist eingebunden, dies ist nur ein Auszug und wenn ich den unteren Teil für den Atmega644 lösche, läuft es korrekt durch. Ich wollte eine Hardware-Auswahl die durch Prozessor-Auswahl im Makefile den jeweiligen Textteil compiliert.
jack schrieb: > io.h ist eingebunden, dies ist nur ein Auszug und wenn ich den > unteren Teil für den Atmega644 lösche, läuft es korrekt durch. > Ich wollte eine Hardware-Auswahl die durch Prozessor-Auswahl im > Makefile > den jeweiligen Textteil compiliert. Ja, schön. Das wissen wir schon. Aber dein Ausschnitt reicht einfach nicht, um auszutüfteln was da vor sich geht und warum in diesem Fall io.h dann doch nicht eingebunden wurde.
Wird sowas gesucht?
1 | #if defined (__AVR_ATtiny2313__) || defined (__AVR_ATmega168__) || defined (__AVR_ATmega8__) || defined (__AVR_ATmega32__)
|
2 | ...
|
3 | #elif defined (__AVR_ATtiny24__) || defined (__AVR_ATtiny84__)
|
4 | ...
|
5 | #endif
|
mfg
ja, das ist die Lösung von pappnase. Ich danke allen für die Hilfe. mfg
Hallo, war leider zu schnell. Habe nun ein Beispiel und wie man hier sieht wird der Teil für port_init nicht compiliert. Im Makefile habe ich den atmega88pa ausgewählt.
jack schrieb: > Habe nun ein Beispiel und wie man > hier sieht wird der Teil für port_init > nicht compiliert. Im Makefile habe ich > den atmega88pa ausgewählt. Glaubst Du, dass das kleingeschriebene pa in _AVR_ATmega88pa_ korrekt ist?
Danke Frank. wie heist das Sprichwort "man sieht den Wald vor lauter Bäumen nicht". mfg jack
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.