Hallo,
Ja, das progamm soll ersteinmal nur blinken, da ich sonst noch nichts mit dem GCC hingekiegt habe. Hier ist das Programm, es zweigt immer die LEDs 0 und 2 an und led1 aus. (Das habe ich mit allen optimierungs optionen ausprobiert(auch wenn ich mit schon gedacht habe das es mit -O3 nicht besser klappt als mit -O2))
Code:
#define __AVR_ATmega8__
#define F_CPU 4000000UL // 4MHz
#include <avr/io.h>
#include <compat/deprecated.h>
#include <inttypes.h>
#include <util/delay.h>
unsigned char c,d,e;
main(){
char in;
outp(DDRB , 0x07); /* PortB als Ausgang 0000 0111*/
outp(DDRD, 0xF3); /* eingang 1111 0011*/
outp(PORTD, 0x0c); /* pull-up ein 0000 1100*/
sbi(PORTB,1);
while(1) {
/* on */
cbi (PORTB,0);
/* wait a short time */
for(c=0;c<=100;c++)
_delay_ms(2.2);
sbi (PORTB,1);
/* wait a short time */
for(c=0;c<=100;c++)
_delay_ms(2.2);
}
}
Gruß stein
Lesezeichen