uControl
Mayo 25, 2013, 02:29:44 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 [2]   Ir Abajo
  Imprimir  
Autor Tema: Tomar tiempo entre tecla y tecla  (Leído 1418 veces)
0 Usuarios y 1 Visitante están viendo este tema.
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2135


Electric Blue


« Respuesta #15 : Mayo 28, 2012, 02:42:59 »

Si el menú te resulta enredado te sugiero que hagas un diagrama de flujo en pseudo-código, y luego prueba todas las combinaciones posibles, si no falla lo pasas a código. Wink

En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
darck_khronos
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 670

Khronoscorp Systems


« Respuesta #16 : Mayo 28, 2012, 02:43:15 »

la tecla 'C' Es solo para salir del menu y regresar a la pantalla principal
En línea
VelazquezBio
"...La Felicidad solo es completa, cuando es compartida..."
Amigo de uControl
PIC18F
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1455


Alea Iacta Est...


« Respuesta #17 : Mayo 28, 2012, 02:46:31 »

la tecla 'C' Es solo para salir del menu y regresar a la pantalla principal

Perfecto, basta con dejarlo vacio. Piensa porque... fijate los break que tienes y la funcion que cumplen.
En línea

No será fácil y no sera corto el camino, pero se que seré feliz mientras lo transite.
darck_khronos
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 670

Khronoscorp Systems


« Respuesta #18 : Mayo 28, 2012, 03:55:08 »

estoy trabajando con lo que me hacian mencion del codigo, pero para mi si es necesario mandar a llamar a Clock(); dentro del timer, ya que si este esta trabajando es necesario que mande la imprecion de las variables por 232, si no siempre tendre que estar precionando alguna tecla para que me continue mostrando el tiempo
En línea
VelazquezBio
"...La Felicidad solo es completa, cuando es compartida..."
Amigo de uControl
PIC18F
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1455


Alea Iacta Est...


« Respuesta #19 : Mayo 28, 2012, 04:09:47 »

estoy trabajando con lo que me hacian mencion del codigo, pero para mi si es necesario mandar a llamar a Clock(); dentro del timer, ya que si este esta trabajando es necesario que mande la imprecion de las variables por 232, si no siempre tendre que estar precionando alguna tecla para que me continue mostrando el tiempo

Creo que no te estoy entendiendo.

Estoy utilizando el timer1 para realizar contenos de 1 segundo, cada vez que el contador llegue a 1 este mandara por rs232 las variables de minutos, segundos todas divididad en decenas y unidades.

De la manera en la que te mostre el codigo...

Código:
do{
      x=kbd_getc();
      }while(x==0 && flag==0);
     
     
       if(flag==1){
              clock();
              printf("%c%c%c%c:%c%c%c",in,dmin+48,umin+48,chion,dseg+48,useg+48,fin);
              lcd_gotoxy(1,2);
              printf(lcd_putc,"%c%c:%c%c",dmin+48,umin+48,dseg+48,useg+48);
              flag=0;
              x=0;
       }

Mientras no se pulse una tecla,o se active la interrupcion, esta esperando la pulsasion,  si pasa 1 segundo... es decir...
Si se activo la interrupcion de Timer1, sale del do While y se ejecuta la condicion de flag=1. La linea x=0; asegura que no entres al Switch.

Que piensas tu del codigo... porque no sirve?
En línea

No será fácil y no sera corto el camino, pero se que seré feliz mientras lo transite.
darck_khronos
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 670

Khronoscorp Systems


« Respuesta #20 : Mayo 30, 2012, 04:35:49 »

ya tengo un muy buen avance de mi proyecto, mas que tengo una duda, tengo configurado mi timer para que se desborde cada 500 ms programe ya mi micro pero este al terminar mi cronometro los 10 minutos al micro le faltan siempre algunos segundos, esto que me aparece en el compilador siento que es lo que me afecta.


>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (@delay_ms1)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (lcd_send_nibble)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (lcd_send_byte)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (@DIV88)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (lcd_putc)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (lcd_gotoxy)
>>> Warning 216 "Control.c" Line 274(0,1): Interrupts disabled during call to prevent re-entrancy:  (@PUTCHAR_1_)
      Memory usage:   ROM=76%      RAM=14% - 21%
      0 Errors,  7 Warnings.



alguna idea de como poder evitar este mensaje
En línea
el_vpi
Moderador
PIC18F
*****
Desconectado Desconectado

Mensajes: 1122



« Respuesta #21 : Mayo 30, 2012, 08:23:29 »

fijete que los warning esos te estan avisando nomas que cuando haces las llamadas a esas funciones se deshabilitan las interrupciones.
En realidad es un warning para que sepas que por ejm si llega una interrupcion dentro de alguna de estasn funciones, no le dara bola hasta que vuelva (termine) de la funcion.
Ademas se condice con el comportamiento que observas (te atrasa el reloj) que es la suma de tiempos en que llego la int, hasta que la pudo atender realmente.

No se si es mas o menos claro.

En línea
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2135


Electric Blue


« Respuesta #22 : Mayo 31, 2012, 09:22:02 »

A lo que dijo el_vpi agrego que esos Warning aparecen porque estas usando la mismas rutinas en la interrupción y en el Main y cuando las usa en el Main desactiva las interrupciones para que no se llame a la misma rutina desde la interrupción cuando esta siendo usada por el Main; de ahi lo de "to prevent re-entrancy".
En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
Páginas: 1 [2]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.18 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.091 segundos con 28 consultas. (Pretty URLs adds 0.01s, 3q)
loggkey