Autor Tema: un pulsador para dos acciones (pulsacion corta/larga)  (Leído 8747 veces)

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

Desconectado anfegori91

  • PIC12
  • **
  • Mensajes: 71
Re: un pulsador para dos acciones (pulsacion corta/larga)
« Respuesta #15 en: 06 de Febrero de 2010, 06:22:15 »
 :P creo que no me hice entender, efectivamente 2 de esas combinaciones son como lo que yo propuse,
sino que se podrían expandir de manera que, por ejemplo, se presione A y mientras se mantenga pulsado,
se pulse de una a más veces el botón B, y el conteo de las veces oprimidas de B pare al soltar A, permitiendo
seleccionar más funciones dependiendo del número de veces que se oprimió B.

...y visceversa. :mrgreen:

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: un pulsador para dos acciones (pulsacion corta/larga)
« Respuesta #16 en: 06 de Febrero de 2010, 18:24:58 »
Yo siempre creo un timer que desborda cada 10ms o a lo mucho 1ms (deendiendo de la velocidad del mirco) para tener tiempos mas exactos para ejectuar multiples cosas sin que el PIC se detenga, en este caso con 10 estara bien. Para los pulsadores, basta con crear flags y hacer una rutina que se llame siempre en el while. Almenos asi siempre lo ahgo yo porq no me gusta la idea de tener que paralizar al PIC con los delay_xx. Prefiero la de un RTOS, si es que no me equivoco, pero echo por mi mismo xD!

Bueno el codigo Bruno!

Suerte.

Desconectado anfegori91

  • PIC12
  • **
  • Mensajes: 71
Re: un pulsador para dos acciones (pulsacion corta/larga)
« Respuesta #17 en: 07 de Febrero de 2010, 22:42:19 »
si¡¡ el uso de los temporizadores permite otra técnica para evitar usar delay en los pulsadores para el antirebote:
digamos que el timer se desborda cada 2 ms, y en la rutina de interrupción se verifica el estado del interruptor (1 o 0),
haciendo válido un pulso sólamente cuando haya por lo menos 10 lecturas contiguas en "1", y desvalidando el pulso
cuando haya por lo menos 10 lecturas en "0". En esta rutina podría activarse otro modo de temporización para verificar si
la pulsación fue larga o corta.  :P :P


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: un pulsador para dos acciones (pulsacion corta/larga)
« Respuesta #18 en: 07 de Febrero de 2010, 23:02:21 »
Yo con un timer creo un tiempo de timeout, que indica si se ha vuelto a pulsar la misma tecla dentro de un periodo, con esto tengo una rutina que trabaja como el teclado de un celular, y los caracteres de cada tecla se guardan en un arreglo. Esto da la posibilidad de muchas opciones con pocas teclas  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything