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