PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Code



cesupa
16.08.2007, 19:03
Hallo,

ich versuch mich grad in die Microcontrollerprogrammierung reinzufinden und hatte heut schon so einige Probleme dabei...
Jedenfalls hab ich es jetzt endlich hingekriegt eine LED zum blinken zu bringen. Unzwar folgendermaßen:




#include <avr/io.h>
#define F_CPU 8000000

#include <util/delay.h>

unsigned char tt;

int main(void)
{
DDRD |= (1 << PD0); // PD0 als Ausgang festlegen
while(1) // Unendlich lang wiederholen
{
tt=0;
PORTD &=~(1 << PD0); //A




while(tt<10)
{
_delay_ms(10);
tt++;
}

tt=0;


PORTD |= (1 << PD0); //B
while(tt<100)
{
_delay_ms(30);
tt++;
}


}
return 0;
}



Auf diese Weise blinkt die LED erwartungsgemäß sehr schnell, aber wenn ich die Zeilen A und B vertausche müsste es ja eigentlich immer noch blinken, nur leider leuchtet die LED dann die ganze Zeit und will einfach nicht blinken. Kann mir bitte jemand sagen, warum das so ist?

Gruß
cesupa

Superhirn
16.08.2007, 21:04
ist doch auch klar. schau dir mal die warteschleifen genau an und dann denkst dir aus wie lange die led ein bzw ausgeschalten ist.

cesupa
17.08.2007, 08:48
Okay, Danke, hab jetzt die Wartezeit erhöht und jetzt gehts.