Nach einer sehr langen Pause bin ich gerade dabei mich wieder in die AVR
Mikrocontroller einzuarbeiten. Leider scheitere ich schon ganz am Anfang
an den einfachsten Dingen und finde den Fehler einfach nicht.
Das Programm läuft soweit, nur wenn ich die Funktion _delay_ms verwende,
kann ich nicht mehr kompilieren.
Hab im Internet schon einiges dazu gelesen, auch Alternativen, aber
diese funktionieren auch nicht. Was genau mache ich falsch?
Mein Setup:
Atmel STK500, Atmega2561, RS232
Windows 2000 SP4, IE6, AVR Studio 4.19
Da ich erstmal alles wieder deinstalliert habe,
hier die Reihenfolge der Neuinstallation
(falls das einen Unterschied macht)
+ WinAVR-20100110
+ AVR Studio 4.18
+ AVR Studio 4.18 SP1
+ AVR Studio 4.18 SP2
+ AVR Studio 4.18 SP3
+ AVR Toolchain 3.4.2
+ AVR Studio 4.19
Fehlermeldungen:
habe ich teilweise mitprotokolliert als Text-Datei.
Und das Programm:
1 | #define F_CPU 1000000UL
|
2 | #include <avr/io.h>
|
3 | #include <util/delay.h>
|
4 |
|
5 | int main()
|
6 | {
|
7 | int delay_time = 2000;
|
8 |
|
9 | DDRB = 0xFF; // PORTB STK500 LEDs
|
10 | PORTB = 0x00;
|
11 |
|
12 | DDRC = 0xFF; // PORTC 2x 74C48
|
13 | PORTC = 0x00;
|
14 |
|
15 | for (;;)
|
16 | {
|
17 | for (int i = 0; i <= 255; i++)
|
18 | {
|
19 | _delay_ms (delay_time);
|
20 | PORTB = i;
|
21 | PORTB = ~PORTB;
|
22 | PORTC = i;
|
23 | _delay_ms (delay_time);
|
24 | }
|
25 | }
|
26 | return 0;
|
27 | }
|
Habe es an einem anderen PC mit AVR Studio 6.1 versucht. Kompiliert
einwandfrei und lässt sich übertragen
(musste den dazu aber den AVRISP MK2 verwenden, da das STK500 den
Controller offiziell nicht kennt und ich diesen somit nicht auswählen
konnte.)
Habe es zeitweise auch mit einem Atmega8515 versucht.
Somit kann es eigentlich nur am Compiler bzw. Linker liegen.
Habe die Atmel Toolchain (verschiedene Versionen) versucht und auch die
beiden AVRGCC.EXE und MAKE.EXE von WinAVR.
Beides will nicht.
Danke schon mal für die Hilfe.