530
Comentario:
|
1203
|
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 6: |
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, además se establece el buffer de entrada y se activa el pullup. |
Línea 12: | Línea 12: |
1. Ahora ya en el periférico GPIO se configura el bit del puerto como salida ( 0 ) | 2. Ahora ya en el periférico GPIO se configura el bit del puerto como salida ( 0 ) |
Línea 16: | Línea 16: |
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; } } }}} |
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; } }