Problema en sentencia DO-while en C

#21
OK, me parece que vi algo.

Deberias hacer algo distinto en lugar de #define mode,

Podrias poner en tu archivo h, int mode = MANUAL, o algo asi.

Fijate si va por ahi
Un saludo
 

Dr. Zoidberg

Well-known-Papá Pitufo
#22
El problema de la linea 157 y el de la linea 172 son exactamente el mismo: te falta la variable mode en alguna parte, por que has cometido el mismo error que antes :oops:, usas una variable que no está declarada (o no está visible en el ambito del switch) y por ende no tiene valor asignado. Lo que te recomienda chclau es correcto. Directamente borrá (o comentá) el #define mode y "descomentá" la linea inmediatamente anterior unsigned char mode y agregale =MANUAL; o el valor conveniente para el arranque con la configuración por defecto del sistema...
 
#23
bueno amigos gracias por la ayuda ., un poco de recuento ., el problema lo tengo en esta parte ., y la verdad que no se como resolverlo., la parte de swich case., la saque de varios tutoriales de internet ., pero por lo que vi y estudie deberia ser mas o menos asi entonces hasta ahora los errores que me indica son problemas de definiciones., el resultado de esta suma y multiplicacion es el valor que toma una de las variables del DO-whilelo concreto es que el problema lo tengo en esta parte​
PHP:
//**************** temporizador de interupcion de sonido *************** //
ISR(TIMER0_OVF_vect)    //interrupción del temporizador
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    int count;
        
 switch(mode)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
    {
        case SOUND:
            count = OV_COUNT + DmxAddress;
            break;
        case MANUAL:
            count = OV_COUNT + DmxAddress * 4;
            break;
        default:count = OV_COUNT;
            
    }                            
    if(timer_counter>=count){
        timer_counter=0;
        sound_time=TRUE;    //tiempo mínimo deducible iluminado, puede cambiar? color
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    if (mode==MANUAL){
            change_color();
        }
 
    }else{ timer_counter++; }
}
ahora si tengo que re-hacer esta parte no sabria por donde empezar porque por lo que tome de guia es mas o menos asi en todos los casos y disculpen por tanta molestia pero hace meses que busco una solucon y no logro dar con el problema problemahice lo que me indicaron para probar pero me indica un error que sigue siendo el 157​
 
Última edición:

Temas similares

Arriba