Autor Tema: como ejecutar kbd en ccs durante 1 minuto  (Leído 1447 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado fenix129

  • PIC10
  • *
  • Mensajes: 4
como ejecutar kbd en ccs durante 1 minuto
« en: 11 de Octubre de 2012, 13:53:55 »
hola que tal, esta vez tengo una duda espero y me puedan ayudar, necesito ejecutar durante un minuto el kbd en ccs y si despues de no presionar nada realizar otra activadad, lo cual puede ser desde el encendio de un led, eso es lo menos imporatante sino que el kbd este activo nadamas 1 minuto. espero y me puedan ayudar.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: como ejecutar kbd en ccs durante 1 minuto
« Respuesta #1 en: 11 de Octubre de 2012, 14:46:10 »
Porque ?
Para Que ??

Normalmente una rutina de teclado se escanea en forma periodica, puede ser disparada por una interrupcion o por el programa principal.
Esta rutina se ejecutara a intervalos regulares de tiempo (150 o 200 milisegundos, por ejemplo) y mientras no se ejecuta, se van atendiendo las funcionalidades del programa principal.

Esto se hace siempre igual, se encuentre o no una tecla pulsada.
Una tecla que fue pulsada puede desencadenar otra cantidad de acciones, pero el teclado seguira escaneandose en el mismo intervalo regular.

No sirve escanearlo continuo un minuto sin hacer otra cosa, porque equivale a quedarse viendo como corre una tortuga... :lol: :lol:

Lo ideal en sistemas embebidos es que las rutinas que se puedan, se ejecuten solas sin intervencion del usuario, y mejor aun, sin intervencion del programa principal.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado fenix129

  • PIC10
  • *
  • Mensajes: 4
Re: como ejecutar kbd en ccs durante 1 minuto
« Respuesta #2 en: 11 de Octubre de 2012, 16:10:23 »
Si tienes razon MGLSOFT, pero lo que estoy haciendo solicita que el usuario tiene un minuto para desactivar por medio de teclado, entonces creo que debe ser por medio de una interrupcion como mencionaste, y en otro proceso yo cuente un minuto y realice el encendido de leds o otro dispositivos, mientras el usuario no desactive. ENTONCES la pregunta seria como hacer una interrupcion para el teclado, ya que todavia no se muy bien el funcionamiento de las interrupciones. Espero y me puedan ayudar.

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: como ejecutar kbd en ccs durante 1 minuto
« Respuesta #3 en: 11 de Octubre de 2012, 17:03:19 »
puedes usar las interrupciones por cambio en puerto b(5 a 7)[la llamareros interrupcion del teclado], y que el programa decida si tomar en cuenta o no los datos que ingresen desde el teclado, ejemplo usas el timer 0 para decirle al programa principal cuando debe escuchar el teclado, explico creas un contador, como tu deseas, de un minuto, ahi debes hacer el calculo, al momento de cumplirse el minuto, el timer 0 cambia una variable o flag o lo que desees, y cuando ingrese nuevamente a la interrupcion del teclado el programa verifique el estado de la variable, flag, etc, y procese lo datos o los descarte.

no se si me resulte bien la explicacion, espero la entiendas.

Saludos!
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.