Er zijn vele wegen die naar Rome leiden.
code:
unsigned long step = millis();
unsigned long stoptijd = millis() + 15;
for( int i=0; stoptijd>millis(); i++ ) {
if( step != millis() ) {
step = millis();
//doe iets eens per ms
if( hetisnuwelgenoeggeweestbinnen15ms ) {
break;
}
}
}
of
code:
for( int i=0; i<15; i++ ) {
delay_ms(1); // delay_ms gebruik ik nooit meer, ms als param?
//doe iets eens per ms, de loop stop na 15ms
}
Zelf heb ik een voorkeur voor de bovenste functie omdat ik binnen de loop nog andere code uit kan voeren. Tijdens delay_ms heb je geen controle meer, om nog even door te zagen over delays
Ik heb de code niet gecompileerd, zo uit mijn hoofd geklopt. Vergeef me een typfoutje.
Als je eerder uit de loop wilt springen dan doe je dat met "break;". "Goto" kennen we gelukkig niet in C en "Gosub" doe je bij het aanroepen van iedere functie.