Bienvenido: Ingresar
location: Diferencias para "WebHome/Hardware/Teclas"
Diferencias entre las revisiones 1 y 6 (abarca 5 versiones)
Versión 1 con fecha 2016-09-06 20:37:07
Tamaño: 530
Comentario:
Versión 6 con fecha 2016-09-06 21:15:39
Tamaño: 1600
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 3: Línea 3:
Para ejemplificar la abilitaciòn de un pin como entrada para un pulsador, se habilitará el bit corresponde al Switch 1 de la placa EDU-CIAA-NXP 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
Línea 6: Línea 7:
   1. Selección del pin como GPIO, además se establece el buffer de entrada y se activa el pullup.
== 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.
Línea 12: Línea 13:
   1. Ahora ya en el periférico GPIO se configura el bit del puerto como salida ( 0 ) == 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 ) 
Línea 16: Línea 18:


== 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;
   }
}
}}}

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;
   }
}

UntitledWiki: WebHome/Hardware/Teclas (última edición 2016-09-06 21:15:39 efectuada por GuillermoSteiner)