oderlachs
23.05.2014, 21:56
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:
/* 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);
}
}
************************************************** ****************************
Bei Atmega 16/32 gehen oberer und unterer Code, beim 644 nur der untere, beim oberen habe ich "dauerlicht"
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
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:
/* 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);
}
}
************************************************** ****************************
Bei Atmega 16/32 gehen oberer und unterer Code, beim 644 nur der untere, beim oberen habe ich "dauerlicht"
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