Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/08/2016 #21


adjunto programa compilado
Hola amigos nuevamente por aqui, espero no molestar con mi insistencia.
Les doy mas o menos un alcance mas cercano del problema del proyecto.

en el caso2: hora int 23:59 hora apag 02:20 hora enc 02:40
la hora de int puede ser cualquier hora antes de las 23:59 y la hora de apa y enc deben ser después de las 00:00 horas.
cuando la hora tiempo real esta en el minuto 39 o menos es deecir 38,37,36,etc de cualquier hora por ejemplo:

eehora eemin int apa enc
23 : 39 23:59 02:20 02:40

21:39 / 20:39 .... cualquier hora :39 para atrás , el semaforo no enciende, pero tan luego pasa el minutos 39, se vuelve a la normalidad.
Adjunto el archivo que estoy compilando y el esquema en isis proteus.
Muchas gracias
22/08/2016 #22

Avatar de roberttorres

marvin villalobos dijo: Ver Mensaje
Hola amigos nuevamente por aqui, espero no molestar con mi insistencia.
Les doy mas o menos un alcance mas cercano del problema del proyecto.

en el caso2: hora int 23:59 hora apag 02:20 hora enc 02:40
la hora de int puede ser cualquier hora antes de las 23:59 y la hora de apa y enc deben ser después de las 00:00 horas.
cuando la hora tiempo real esta en el minuto 39 o menos es deecir 38,37,36,etc de cualquier hora por ejemplo:

eehora eemin int apa enc
23 : 39 23:59 02:20 02:40

21:39 / 20:39 .... cualquier hora :39 para atrás , el semaforo no enciende, pero tan luego pasa el minutos 39, se vuelve a la normalidad.
Adjunto el archivo que estoy compilando y el esquema en isis proteus.
Muchas gracias
Buenas.
He estado analizando tu código, y también hay un bug en tu comparación de casos, por ejemplo si la hora intermitencia es 23:30, hora de apagado 01:45 y hora de encendido 02:40 el programa no hace nada, solo lee el rtc.
Referente a tu problema de Caso 2 hay subo el código con algunas modificaciones para que lo pruebes y analices:
22/08/2016 #23
Moderador

Avatar de D@rkbytes

Viendo el código, la verdad me enredé.
Por eso siempre les he aconsejado que hagan el programa por partes, y ya cuando una función les de buen resultado, la incluyan a lo que será el programa principal.

Lo problemas que pude ver en el programa se deben a usar retardos excesivos y escrituras a la pantalla durante el servicio de interrupción.

También hay una mala estructura y un muchas variables que se pueden sintetizar en arreglos.
Empieza por partes y prueba cada función, cuando la tengas sigue con el resto del programa.

Yo cuando tengo que hacer un programa grande, lo hago por partes para ir probando las rutinas independientes.
Así voy acumulando carpetas con programas de prueba que posteriormente añado al principal.
Cuando ya están funcionando en conjunto con el resto del programa, las borro o las guardo como ejemplos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.