Problem beim Einstieg

Gast #869389
Lesenswert?

Hallo, ich versuche folgendes Programm zu compilieren:
1
#define F_CPU 4000000  // 4 MHz
2

3
#include <avr/io.h>
4
#include <util/delay.h>
5

6
int main()
7
{
8
  unsigned char i;
9

10
  DDRB = 0xff;
11
  PORTB = 0x00;
12
  
13
  while(1)
14
  {
15
    PORTB ^= 0xff;
16
    for (i=0; i<50; i++)
17
      _delay_ms( 10 );
18
  }
19
  return 0;
20
}

Es kommt aber der Fehler: "internal compiler error: Illegal instruction"
Frage: Was kann ich tun? ;-)
Gast #869433
Lesenswert?

PC: AMD 300 GHz mit Windows XP

Ja, sobald ich das _delay_ms() rausnehme, funktioniert alles. So habe 
ich z.B. ein Programm geschrieben, was einfach nur den Port auf 0xff 
setzt.
Auch avr/delay.h habe ich schon anstelle von util/delay.h implementiert. 
- Erfolglos!
Gast #869454
Lesenswert?

> PC: AMD 300 GHz

Alles klar: Du hast deinen PC ist zu sehr übertaktet ;-)

Aber Spaß beiseite: Ich bin zwar kein WinAVR-Benutzer, aber es gab es
in letzter Zeit wohl Versionen (200804xx mit xx<30 oder so), die nicht
ganz so gut funktionierten und deswegen wieder zurückgezogen wurden.
Vielleicht hast du so eine erwischt. Probier vielleicht einfach mal
die aktuellste (20080512) oder eine davor (20080430) aus.

Der da

  http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=435954

hat wohl das gleiche Problem gehabt mit der Version 20080412 (gab es
die überhaupt, oder meint er 20080402?). Allerdings schreibt er nicht,
ob und wie er das Problem gelöst hat. Aber ein Update ist sicher kein
Fehler.

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