Hola que tal, bueno pues me paso lo siguiente.
Estoy haciendo un pequeño programa para controlar unos motores, y hago uso de las interrupciones, mas o menos pongo el ejemplo para no poner todo el codigo y aburrir
int contador; //Variable global
ISR(INT0_vect)
{
contador++; //Aqui funciona bien el incremento de la variable, cada ves que se llama se
//la incrementa
}
int main()
{
contador++; //Aqui tambien funciona bien el incremento
sei(); //Cuando entro al while ya no incrementa la variable
while(1){ //Espero a que se genere la interrupcion
contador++; //Aqui ya no incrementa la variable, pero cuando va a la interrupcion si lo hace
}
return 0;
}
Porque no se incremente la variable cuando la pongo dentro del while y si l ohace cuando va a la interrupcion, aclaro que la interrupcion se genera cada segundo, lo programe y en real no funciona lo probe en proteus y me di cuenta que no incrementa la variable en el while y luego lo probe en el mismo simulador del avr studio y lo mismo, ¿Porque no puedo incrementar la variable global cuando estoy dentro del while?
Estoy haciendo un pequeño programa para controlar unos motores, y hago uso de las interrupciones, mas o menos pongo el ejemplo para no poner todo el codigo y aburrir
int contador; //Variable global
ISR(INT0_vect)
{
contador++; //Aqui funciona bien el incremento de la variable, cada ves que se llama se
//la incrementa
}
int main()
{
contador++; //Aqui tambien funciona bien el incremento
sei(); //Cuando entro al while ya no incrementa la variable
while(1){ //Espero a que se genere la interrupcion
contador++; //Aqui ya no incrementa la variable, pero cuando va a la interrupcion si lo hace
}
return 0;
}
Porque no se incremente la variable cuando la pongo dentro del while y si l ohace cuando va a la interrupcion, aclaro que la interrupcion se genera cada segundo, lo programe y en real no funciona lo probe en proteus y me di cuenta que no incrementa la variable en el while y luego lo probe en el mismo simulador del avr studio y lo mismo, ¿Porque no puedo incrementar la variable global cuando estoy dentro del while?