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:
(Programmgrundgerüst für den asuro)Code:#include "asuro.h" int main(void) { Init(); while(1) { //eigenes Programm } return(0); }
Dein Programm von oben könnte also etwa so aussehen:
Gruß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); }
mic







Zitieren

Lesezeichen