Hallo
In der Library des asuro befindet sich die Funktion Sleep() zur Verzögerung. Ein Sleep(1) dauert 1/72000 Sekunden, eine Verzögerung um eine Sekunde könnte dann etwa so aussehen:
while(1=0; i<1000; i++) Sleep(72); // 72 ist eine Millisekunde mit der 72kHz-Library.
Programme für AVR-Microkontroller sollten nie beendet werden, da niemand weiß, wohin der Rücksprung aus main() führt und welche Folgen ein Rücksprung haben kann! Deshalb sollten die Progamme als Endlosschleife laufen oder in einer solchen Enden:
Code:
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
//eigenes Programm
}
return(0);
}
(Programmgrundgerüst für den asuro)
Dein Programm von oben könnte also etwa so aussehen:
Code:
#include "asuro.h"
int i;
int main(void)
{
Init();
MotorDir(FWD,FWD);
MotorSpeed(200,200);
for(i=0; i>1000; i++) Sleep(72);
StatusLED(RED);
MotorDir(BREAK,BREAK);
MotorSpeed(0,0);
while(1);
return(0);
}
Gruß
mic
Lesezeichen