Und der Wert gibt dann an, wie oft er wiederholen soll, oder? :)
Wie soll ich das dann einbauen? Einfach kopieren und in die Klammern einbauen?
Ich mein so:
#include "asuro.h"
? auch int main(void) ?
oder wie?
Druckbare Version
Und der Wert gibt dann an, wie oft er wiederholen soll, oder? :)
Wie soll ich das dann einbauen? Einfach kopieren und in die Klammern einbauen?
Ich mein so:
#include "asuro.h"
? auch int main(void) ?
oder wie?
Genau.
Mit:
wird eine For-Schleife erzeugt die den Schleifeninhalt solange wiederholt wie die Bedingung "time < wert" wahr ist. Und durch "time++" wird gesagt das der Wert "time" bei jedem Schleifendurchlauf um 1 erhöht werden soll. Und durch "time = 0" wird gesagt das die Schleife bei 0 anfangen soll zu zählen.Code:
for ( time = 0; time < wert; time++)
Das heißt ich muss einfach nur for ( time = Wert; time < wert; time++) einfügen, oder? :)
Hallo
Sleep() berechnet beim asuro seine Wartezeiten mit der 72kHz-Frequenz des Timer 2. Deshalb dauert Sleep(72) eine 1/1000 Sekunde bzw. eine Millisekunde:
(ungetestet)Code:#include "asuro.h"
unsigned int i;
int main(void)
{
Init();
while(1)
{
for(i=0; i<1000; i++) Sleep(72); // 1 Sekunde
StatusLED(YELLOW);
for(i=0; i<500; i++) Sleep(72); // 1/2 Sekunde
StatusLED(RED);
for(i=0; i<500; i++) Sleep(72);
StatusLED(OFF);
for(i=0; i<1000; i++) Sleep(72);
StatusLED(GREEN);
}
return 0;
}
Die aktuelleren Libs verwenden 36kHz, hier dauert dann Sleep(36) 1ms.
Gruß
mic
Dein Programm funktioniert :) aber was ist mit der Schleife die oben beschrieben ist? :)
Was soll damit sein ? Kannst sie verwenden, vergessen....etc.
Ausdrucken und archivieren?
@radbruch
Du hast die schleife verwendet oder?
@ePyx
Wie muss ich die schleife dann einbauen? So wie radbruch?
ja hat er.
Ist wohl eine Schleife. Wenn 72 einer Millisekunde entspricht und 1000*1 Millisekunde gewartet wird. Kommen eine Sekunde raus. Also ist die sind anscheinend alle LEDs für eine Sekunde aus bis die Schleife durch ist. Dann geht die grüne an.Code:for(i=0; i<1000; i++) Sleep(72);
StatusLED(GREEN);
Noch eine Variante mit einer neuen Funktion Sleep_ms():
Nach Init() leuchtet die StatusLED grün...Code:#include "asuro.h"
void Sleep_ms(unsigned int dauer) // dauer ist Wartezeit in Millisekunden
{
unsigned int i;
i=dauer;
if(i) while(i--) Sleep(72);
}
int main(void)
{
Init();
while(1)
{
Sleep_ms(1000); // 1 Sekunde
StatusLED(YELLOW);
Sleep_ms(500); // 1/2 Sekunde
StatusLED(RED);
Sleep_ms(500);
StatusLED(OFF);
Sleep_ms(1000);
StatusLED(GREEN);
}
return 0;
}