Du brauchst einen Timer, der langsam eine Variable hochzählt. Am einfachsten einen Timer mit einen Interrupt alle 10ms. Dann in der Hauptschleife einfach If timer> 50 then I=i+5 .... und auch timer =0 setzen. Damit wird nur alle 500ms die Funktion aufgerufen und in der Zwischenzeit kann das Programm noch viele andere Sachen erledigen.
Hier als Beispiel eine Funktion die alle 250ms aufgerufen wird.
Code:
if (timecount >=25) // Timer Interrupt alle 10ms
{
timecount=0; // Timer gleich wieder auf 0 setzen damit das Intervall eingehalten wird
if (drehzahl_ist<drehzahl_soll) // Geschwindigkeitsregelung
{speed_li=speed_li-16;speed_re=speed_re-16;
if (drehzahl_ist<=(drehzahl_vmin))
{speed_li=speed_min;speed_re=speed_min;}
}
Lesezeichen