Gast
#5241171
Hallo,
erhoffe mir hier eine kleine Hilfe.
Will in meinem Code eine Warteschleife mit while programmieren.
Warum mit while und nicht _delay_ms?, weil die Warteschleife von einem
übergebenen Wert abhängt und delay_ms nur konstante Werte annimmt.
So hab ich's mir gedacht mit einer kleinen Testroutine für mein
ATMega328p.
int main(void)
{
DDRD |= (1<<DDD1);
PORTD &= ~(1<<PORTD1);
while(1)
{
//TODO:: Please write your application code
int wait1 = 23;
while(wait1 >=0)
{
int wait2 = 1000;
while(wait2 >= 0)
{
wait2--;
}
wait1--;
}
//_delay_ms(100);
PORTD ^= (1<<PORTD1);
}
return 0;
}
Die eine angeschlossene LED soll in dem Intervall, welche die
while-schleife vorlegt, blinken.
Debuggen kann ich nur über den Simulator des Atmel Studio 6.2, leider
funktioniert er nicht ganz so richtig in diesem Fall.
Ebenso funktioniert der Code nicht aufm ATMega328p, sobald ich diesen
flashe.
Was mache ich falsch?
greetz