ANSIC y Arduino


#1

Hola gente,soy nuevo y esla primera vez que entro en el foro. Estoy haciendo pequeños de ANSIC y me encuentro con algunas sorpresas.
Alguien me puede decir porque en una simple funcion de Delay si no uso el modificador de tipo “volatile” esta no funciona.

Ejemplo:

void MiDelay(unsigned long Tiempo){
volatile unsigned long i; // Si no coloco volatile no funciona
unsigned long endTime = 1000 * Tiempo;

for(i=0; i<endTime; i++);
}

Si quitamos “volatile” de la variable i la funcion no se cumple.

Alguna idea, o de donde sacar explicacion para este tema ???

Gracias… Jorge