Ich habe ein kleines problem was ich nicht verstehen...
Ich möchte für eine Anwendung ein Olimex ProtoBoard P40-USB verwenden..um mal schnell das neu gelieferte Protoboatd zu testen habe ich einen Atmega644 draufgesteckt(Pinkompatible mit Atm 16/32) und die von Olimex Blinkcode verwendet...Nur ging diese mit dem 644er nicht, wohl aber mit dem 16 oder 32er. Hier mal der Code:Bei Atmega 16/32 gehen oberer und unterer Code, beim 644 nur der untere, beim oberen habe ich "dauerlicht"Code:/* Sample program for Olimex AVR-P40-USB with ATMega16 processor * Blink Led * Compile with AVRStudio+WinAVR (gcc version 3.4.6) */ #define __AVR_ATmega644__ 1 // CPU Typ Angeben #ifndef F_CPU #define F_CPU 8000000 // 8 MHz #endif #include "avr/io.h" void PORT_Init() { PORTB = 0b00000000; DDRB = 0b00000001; //set Led as output } int main() { unsigned int i; PORT_Init(); while (1) { PORTB = PORTB | 0b00000001; for (i=50000; i; i--); // Zeitschleife PORTB = PORTB & 0b11111110; for (i=50000; i; i--); // Zeitschleife } } ****************************************************************************** /* Sample program for Olimex AVR-P40-USB with ATMega16 processor * Blink Led * Compile with AVRStudio+WinAVR (gcc version 3.4.6) */ #define __AVR_ATmega644__ 1 #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> void PORT_Init() { PORTB = 0b00000000; DDRB = 0b00000001; //set Led as output } int main() { PORT_Init(); while (1) { PORTB = 0b11111110; _delay_ms(1000); PORTB = 0b00000001; _delay_ms(1000); } } ******************************************************************************
es ist zwar nicht lebendbedrohlich, aber ich kann mir das nicht erklären warum das so ist. Da ich das Board ja mit einem 644 oder gar mit einem 1284p bestücken möchte , will ich Fehler im Vorfeld ausmärzen , nicht das ich mich später dumm und dähmlich suche...
Die Fuses stimmen , alle kontrolliert.. (soweit ich diese für richtig halte...)
Weiss wer einen Rat ??
Gruss und Dank Gerhard
Lesezeichen