@SprinterSB wo muss man das obige eingeben?
Habe nämlich ein ähnliches Problem, bei mir ist der Speicher des ATmega8 mit folgendem Code schon zu 47% voll:
Code:
#include <avr/io.h>
#ifndef F_CPU
/* Definiere F_CPU, wenn F_CPU nicht bereits vorher definiert
(z.B. durch Übergabe als Parameter zum Compiler innerhalb
des Makefiles). Zusätzlich Ausgabe einer Warnung, die auf die
"nachträgliche" Definition hinweist */
#warning "F_CPU war noch nicht definiert, wird nun mit 1000000 definiert"
#define F_CPU 1000000 /* Quarz mit 1 Mhz */
#endif
#include <util/delay.h> /* in älteren avr-libc Versionen <avr/delay.h> */
#define TEMPO 1800
#define TEMPO2 2000
int main (void)
{
DDRC = 0xFF;
int ba=0;
int const _A[] = {0b00001, 0b10110, 0b10110, 0b00001};
int const _H[] = {0b00000, 0b11011, 0b11011, 0b00000};
int const _L[] = {0b00000, 0b01111, 0b01111, 0b01111};
int const _O[] = {0b10001, 0b01110, 0b01110, 0b10001};
void B (int bb[])
{
PORTC = bb[0];
_delay_us(TEMPO);
PORTC = bb[1];
_delay_us(TEMPO);
PORTC = bb[2];
_delay_us(TEMPO);
PORTC = bb[3];
_delay_us(TEMPO);
PORTC = 0b11111;
_delay_us(TEMPO2);
ba += 8;
}
while(1)
{
B(_H);
B(_A);
B(_L);
B(_L);
B(_O);
_delay_ms(157 - ba);
ba = 0;
}
return 0;
}
Lesezeichen