Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen für Anfänger
Dr. Schraubstock
05.10.2009, 21:47
Juhu!!!
Wie muss ich die Funktion Sleep in mein Programm einbauen, dass es auch funktion =)?????
Beispiel:
#include "asuro.h"
int main(void)
{
Init();
BackLED(ON,ON);
Msleep(10000); //"Msleep" oder nur "Sleep"?
BackLED(OFF,OFF);
Msleep(10000);
BackLED(ON,ON);
while(1);
return 0;
}
radbruch
05.10.2009, 22:06
Hallo,
willkommen im RN-Forum.
Die orginale Version der asuro-Library kennt die Funktion Msleep() noch nicht. Hier muss man also Sleep() verwenden. Da der Timer damals noch mit 72kHz lief, dauert ein Sleep() 1/72000 Sekunde, ein Sleep(72) entsprechend 0,001 Sekunde. Ein Programm das die BackLEDs im Sekundentakt endlos ein- und ausschaltet könnte z.B. so aussehen:
#include "asuro.h"
int main(void)
{
int i;
Init();
while(1)
{
BackLED(ON,ON);
for(i=0; i<1000; i++) Sleep(72); // Sleep(72) dauert 0,001 Sekunden
BackLED(OFF,OFF);
for(i=0; i<1000; i++) Sleep(72);
}
return 0; // Diese Zeile wird nie erreicht
}
Programme sollte man hier in Code-Tags einschliessen, Einrückungen erhöhen die Lesbarkeit des Programms. Außerdem hat das RN-Forum einen asuro-Bereich:
https://www.roboternetz.de/phpBB2/viewforum.php?f=44
Gruß
mic
tach810i
05.10.2009, 22:51
So ist es einfacher. Msleep ist nämlich in der ASURO Bibliothek (asuro.h) definiert. (Parameter entspricht Millisekunden!)
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
BackLED(ON,ON);
Msleep(1000);
BackLED(OFF,OFF);
Msleep(1000);
}
return 0; // Diese Zeile wird nie erreicht
}
mfg
Tach810i
Dr. Schraubstock
06.10.2009, 12:56
Danke schön für eure Antworten!
Werde es nachher mal ausprobieren... und dann berichten, ob es geklappt hat.
Dr. Schraubstock
06.10.2009, 14:48
Die erste Variante hat funktioniert. Danke..... :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.