Werbung
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++)
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
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
![]()
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Was soll damit sein ? Kannst sie verwenden, vergessen....etc.
Grüße,
Daniel
Ausdrucken und archivieren?
![]()
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
@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);
Grüße,
Daniel
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; }
![]()
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen