Hola a todos,
Tengo una estructura con doce variables adentro (Tipo_timer), después con esto armé un vector de 100 elementos.
Con otra variable "i" intento acceder a cada elemento para evaluarlo pero por alguna razón no me sale. Que estoy haciendo mal ?
typedef struct {
//struct Tipo_timer {
BOOLEAN Enable; // Habilita el temporizador.
BOOLEAN Res1ms; // Resolucion del temporizador de 1ms.
BOOLEAN Res10ms; // Resolución del temporizador de 10ms.
BOOLEAN Res1seg; // Resolución del temporizador de 1seg.
BOOLEAN TON; // Temporizador de Retardo a la conexión.
BOOLEAN TOF; // Temporizador de Retardo a la desconexión.
BOOLEAN TP; // Temporizador por impulsos.
BOOLEAN I; // Entrada del temporizador.
BOOLEAN IAnt; // Estado anterior de la entrada del temporizador.
BOOLEAN Q; // Salida del temporizador.
int16 ACC; // Acumulador del temporizador.
int16 PRESET; // Preset del temporizador.
} tipo_timer;
//Se disponen de 100 temporizadores.
tipo_timer T[100];
void main() {
int8 i;
//Aqui inicializo el elemento 2.
T[2].Enable=TRUE;
T[2].TON=TRUE;
T[2].Res1ms=TRUE;
T[2].PRESET=500;
T[2].ACC=0;
//Esta parte funciona bien, me ejecuta Q3=1.
if (T[2].Enable==TRUE) {
Q3=1;
}
else {
Q3=0;
}
//Esta parte no funciona, debería hacer Q4=1, pero ejecuta Q4=0.
i=2;
if (T[i].Enable==TRUE) {
Q4=1;
}
else {
Q4=0;
}
Probé declarar la variable i de varias formas, y también cambiar la estructura, pero nada. La versión de mi compilador es la 4.104 y lo estoy probando en un PIC18F4550.
Saludos a todos y gracias.