Hallo Sebastian!
die erste Warnung ist wohl klar, oder ?
Warum braucht der Compiler denn eine Leerzeile? ;o)
Nagut, das ist jetzt geklärt!
und für die zweite,postest Du am besten Dein Programm.
Das ist von http://www.kreatives-chaos.com/index.php?seite=avr_b .
Möchte der Compiler, dass ich dem Markierten (>>> unsigned char i; <<<) erst einen Wert zuweise, oder einfach nur, dass ich es hinter das Init(); stelle?
Code:
#include <avr/io.h>
#define SYSCLK 7372800
void init(void);
void delay_ms(unsigned int ms);
int main(void)
{
>>> unsigned char i; <<<
init();
// Endlosschleife
while (1)
{
PORTB = i;
i++;
delay_ms(1000);
}
return 0;
}
// Initialisierung
void init(void)
{
DDRB = 0xff; // PortB als Ausgang deklarieren
PORTB = 0x00; // Ports auf LOW schalten
}
// Delay Routine
void delay_ms(unsigned int ms)
{
unsigned int zaehler;
while (ms)
{
zaehler = SYSCLK / 5000;
while (zaehler)
{
asm volatile ("nop");
zaehler--;
}
ms--;
}
}
Lesezeichen