Ist sicher so, wie du sagst, Ich würd mal fix den Wert für EINE mS vorher ausrechenen und die function "timer()" auf Vielfache vom mS einschränken.
Ein bißchen sparen kannst du auch:
Statt
i=4000000/1024;
i=1/i;
i = time / i
schreib doch
#define DIVISOR 1024 / 4000000

i = time / DIVISOR

is nicht viel, aber Kleinvieh mach auch mist. mfg robert

und