Gast
#876250
Hallo zusammen! Ich hab vor ein paar Tagen meine alte Platine mit einem ATMEGA32 rausgekramt, um damit ein paar Sachen auszuprobieren. Ich hatte noch alte Projekte gefunden, die ich mit PonyProg 2000 rübergeschoben habe. Hat alles wunderbar funktioniert. Jetzt hab ich WinAVR 20080512 und AVRDUDE 5.5 installiert und wollte mit dem Programmers Notepad nur ein paar LEDs zum Blinken bringen, um die Funktion zu testen. 'Make clean', 'make all', und 'Program' läuft fehlerfrei durch, nur das Programm will nicht (alle LEDs gehen einmal an und nie wieder aus). OK also hab ich mir ein altes Programm geschnappt und per Ponyprog rübergeschoben: geht. Kompiliere ich es dann einmal mit WinAVR, gehts nicht mehr, auch nicht mehr mit Ponyprog. Ich nutze Windows XP und programmiere mit einem stk200 kompatiblen Programmer über den lpt1-Port. Der ATMEGA läuft auf internem 8 MHz Takt, die LEDs hängen an PORTB 2,3,4und sind so verschaltet, dass sie leuchten, wenn der Port low ist. Gibt es da vllt. noch Einstellungen unter WinAVR, die man vorher machen muss? Hier mal das Programm (Dateiname "bare.c"): #include <avr/io.h> void init(void); int main(void) { int j, k ; init(); PORTB = 0x00 ; while (1) { for(j=0;j<10000;j++) for(k=0;k<1000;k++) ; PORTB = 0xff ; for(j=0;j<10000;j++) for(k=0;k<1000;k++) ; PORTB = 0x00 ; } return 0; } void init(void) { DDRB = 0xff; // PortB als Ausgang deklarieren PORTB = 0xff; // Ports auf LOW schalten } Ich wäre sehr dankbar für Ratschläge. MfG Mictlan