int main(void) { InicializarKit(); while(1) { Check_tecla(); } return 0 ; }
int main(void) { InicializarKit (); // Inicialización del Kit uint32_t delay; uint8_t lectura,cantlecturas=0; flag_flash=OFF; for(delay=0;delay<0x00ffffff;delay++); //delay de aprox 2 segs para dejar arrancar el DHT //Carga el primer elemento para empezar a mostrar algo Mensajes[0].arrayID[PROTOCOL_ID]= 1; strcpy(Mensajes[0].str,"J&J Fest!!!"); Mensajes[0].vel = 8; Mensajes[0].Tipo_Elem=ELEMENTO_TEXTO; //busca mensaje para cargar el buffer get_message(); InicTimer0(); InicTimer1(); InicTimer2(); //inicio base de tiempo de maquina para dht CambiarEstadoTE(TRANSMISION); while(1) { if(flash==OFF){ if(flagLeerMensajeNuevo){ ApagoTimers();//apago timers para no molestar en lectura de DHT lectura=DHT_Mde(); if(!flagLeerMensajeNuevo){ //Entra una vez terminada la lectura del DHT get_message(); ArrancoTimers();//vuelvo a encender timers con el buffer lleno cantlecturas++; } if(cantlecturas == 3 && actualizandodatos){ //cada 3 lecturas le actualizo datos a esclavos ActualizarDatos(); cantlecturas=0; } else if(!actualizandodatos){ cantlecturas=0; //en caso de que se este transmitiendo informacion por el bus485, no se transmiten las actualizaciones } } } else if(flash==ON){ if(flag_flash==OFF){ apagarmatriz(); } else if(flag_flash==ON){ prendermatriz(); } } if(iniciar485 && VencioTimer485){ EnviarInicioTx(); iniciar485=0;//para no volver a entrar EventosM=0; } //si se agoto el timer y se tiene que enviar el prox paquete, y el indice actual es menor al total //de paquetes (profilactico) y no se debe enviar fin de tx todavia if(VencioTimer485 && enviando485 && indice<Leng && !findeenvio){ EnviarPaquete(); enviando485=0;//para no volver a entrar EventosM=0; } //si se agoto el timer y se debe enviar el fin if(VencioTimer485 && findeenvio){ EnviarFinTX(); findeenvio=0;//para no volver a entrar EventosM=0; } if(VencioTimer485 && !enviando485 && !findeenvio && !iniciar485){ CambiarEstadoTE(RECEPCION); //paso a recepcion para esperar ack EventosM=0; //para no volver a entrar enviarfindetx=0; } if(VencioTimeOUT485){ id485++; if(id485<=CANTESCLAVAS){ iniciar485=1; //para arrancar nueva tx indice=0; //para q empiece desde el ppio } else{ id485=1; //para preparar proxima tx CambiarEstadoTE(TRANSMISION); actualizandodatos=1; //se activa de nuevo el bloque de envio de datos } EventosM=0; //para apagar timers } } return 0 ; }