Hola. Metiendome solo en el contador, mentalmente esto es lo que me sale
//f(nº a incrementar,llegada a total,devolver)
f(1,500,0);
f(-1,-10,-9);
signed int8 f(signed incre,int16 signed total,signed fin){
signed co;
if(incre>0){//incremento
for(co=0;total>co;co+=incre){
......//lo que sea
delay_ms(500);
}
} else { //decremento
for(co=0;total<co;co+=incre){
delay_ms(500);
}
return fin;
}
No lo e probado el incremento 0 es erroneo y puede ser total>= en vez de total> pero me da que funcionaria