Bienvenido: Ingresar

Subir página de contenido

Puedes subir contenido para la página con el nombre abajo. Si cambias el nombre de la página, puedes subir contenido para otra página. Si el nombrede la página lo dejas en blanco, tomaremos el nombre del archivo

Archivo de contenido para la página
Nombre de la página
Comentario
En el juego de las bochas, como se llama la mas chiquita?

Versión 5 con fecha 2016-09-06 21:15:16

location: WebHome / Hardware / Teclas

Manejo de Teclado en EDU-CIAA

Para ejemplificar la habilitación de un pin como entrada para un pulsador, se habilitará el bit corresponde al Switch 1 de la placa EDU-CIAA-NXP

Pasos:

1. Selección del pin como GPIO

Esto se realiza en la SCU, además se establece el buffer de entrada y se activa el pullup.

Chip_SCU_PinMux(1,0,MD_PUP|MD_EZI|MD_ZI,FUNC0); /* P1_0 en GPIO 0 bit 4 */

2. Configuración de la dirección del pin

Ahora ya en el periférico GPIO se configura el bit del puerto como salida ( 0 )

Chip_GPIO_SetDir(LPC_GPIO_PORT, 0,(1<<4),0);

3. Anular rebotes

El rebote mecánico del pulsador en los cambios de estado del mismo (el momento de pulsarlo o soltarlo), se traduce como una oscilación ente 1 y 0 en la entrada digital del micro. Para evitar que estas fluctuaciones se tomen como una serie de pulsaciones consecutivas, se deben tomar algunas precauciones.

int ValorTecla1()
{
   int valor,valor_anterior;
   int contador;
   while(contador<1000) {
      valor = !Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,0,4); // leer tecla (las teclas se activa por 0)
      if(valor!=valor_anterior) {
         valor_anterior = valor;
         contador=0;  
      } else {
         contador++;
      }
   }
   return valor;
}

== 4. Anular múltiples repeticiones ==

main() {
   int tecla1,tecla1_anterior;
   while(1) {
      tecla1 = ValorTecla1()  ;
      if(tecla1!=tecla1_anterior && tecla1==1) {
         Led_Color_Toggle(LED1);
      }
      tecla1_anterior = tecla1;
   }
}