Symbol Definitions woher?

Gast #431142
Lesenswert?
• ▲
▼
Hallo,
will mir grad mal den gcc für die AVRs ansehen, habe bisher nur 
Codevision benutzt.

Dieser Fehler tritt nun auf:
main.c:10: error: `DDRA' undeclared (first use in this function)

ich habe
#include <avr/io.h>
#include <stdint.h>
#include <avr/iom8.h>

includiert. Im Makefile steht mein Mega8 drin. Was übersehe ich noch?
#431207
Lesenswert?
• ▲
▼
Du inkludierst io.h
Das ist aber nichts anderers als ein Verteiler. Je nach
eingestelltem Prozessor includet io.h dann das richtige
ioxx.h. In deinem Fall ist das iom8.h (daher brauchst du
das auch nicht selbst inkludieren).
Und in dieser iom8.h stehen dann alle Definitionen drinnen,
die auf einem Mega8 einen Sinn machen.

Es ist übrigens nicht verboten, in die io.h oder ioxx.h
mal hineinzuschauen. Nur ändern sollte man da drinnen
nichts.
Gast #431210
Lesenswert?
• ▲
▼
Hallo,

@ Karl heinz Buchegger
> Nur ändern sollte man da drinnen
> nichts
Warum denn nicht? Ich habe mir für den Tiny13 die EEPROM Register + 
Bitdefinitions nachgetragen und es funktioniert wunderbar.
Man sollte halt nichts machen wo, man sich nicht bewusst ist was man 
macht...

Gruß,
Christian
Gast #431214
Lesenswert?
• ▲
▼
> Nur wenn du den
> nächsten Compilerupdate machst, ist alles wieder futsch

Wie macht man dann sowas "sauber"?
Bei mir waren z.B. die EEPROM-Bits nicht definiert - Ist es besser sich 
ne separate .h Datei zu machen wo die Ergänzungen drinstehen?

Gruß,
Christian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren