Forum: Mikrocontroller und Digitale Elektronik Noobfrage: Was muss ich hier ändern damit es funktioniert?


von Domi S. (sandi)


Lesenswert?

liebe mc Gemeinde,

erbitte Hilfe für dieses kleine Programm:
habe heute Morgen begonnen meinen atmega2560 mit C zu programmieren und 
komme bereits jetzt nicht mehr weiter.
Programmieren tue ich im avr studio4 (im GCC bereich)
das beispielprogramm ist hier im tutorial aber es läuft irgend wie nicht

Programm:

#include <iom2560.h>          // (1)

int main (void) {            // (2)

   DDRB  = 0xFF;             // (3)
   PORTB = 0x03;             // (4)

   while(1) {                // (5a)
     /* "leere" Schleife*/  // (5b)
   }                         // (5c)

   /* wird nie erreicht */
   return 0;                 // (6)
}

Die dazugehörigen Fehlermeldungen:

../LEDcube.c:5:37: error: iom2560.h: No such file or directory
../LEDcube.c: In function 'main':
../LEDcube.c:9: error: 'DDRB' undeclared (first use in this function)
../LEDcube.c:9: error: (Each undeclared identifier is reported only once
../LEDcube.c:9: error: for each function it appears in.)
../LEDcube.c:10: error: 'PORTB' undeclared (first use in this function)
make: *** [LEDcube.o] Error 1


schon mal danke für die Hilfe

mfg Domi

von 1234 (Gast)


Lesenswert?

Domi S. schrieb:
> ../LEDcube.c:5:37: error: iom2560.h: No such file or directory
ist wohl eindeutig, der Rest sind Folgefehler.

von Chris L. (kingkernel)


Lesenswert?

statt der iom2560.h einfach die io.h einbinden, die macht den rest 
automatisch für dich. zumindest, was die io-geschichte angeht

von Floh (Gast)


Lesenswert?

Domi S. schrieb:
> #include <iom2560.h>          // (1)

eher wahrscheinlich
1
#include <avr/iom2560.h>

oder noch besser, in Programmoptionen mega2560 einstellen und
1
#include <avr/io.h>
verwenden.

von Timmo H. (masterfx)


Lesenswert?

Du hast zwar das Beispiel aus dem Tutorial fast 1:1 kopiert, aber eben 
nicht ganz...
Anstatt
1
#include <iom2560.h>
musst du schreiben:
1
#include <avr/io.h>
Und beim Make bzw. gcc übergibst du den MCU type
1
avr-gcc -c -mmcu=atmega256 ....

von Domi S. (sandi)


Lesenswert?

dankeschööön
hat funktioniert

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
Noch kein Account? Hier anmelden.