Projeto Mecatrônico
/
TESTE_teclado_separado
teste teclado
teste_biblio_keypad.cpp@0:5b3b34d4e428, 2020-05-27 (annotated)
- Committer:
- enricoan
- Date:
- Wed May 27 17:26:51 2020 +0000
- Revision:
- 0:5b3b34d4e428
teste teclado separado
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
enricoan | 0:5b3b34d4e428 | 1 | #include "mbed.h" |
enricoan | 0:5b3b34d4e428 | 2 | #include "Keypad.h" |
enricoan | 0:5b3b34d4e428 | 3 | |
enricoan | 0:5b3b34d4e428 | 4 | Keypad teclado(PC_0, PC_1, PB_0, PA_4, PC_3, PC_2, PC_15, PC_14); |
enricoan | 0:5b3b34d4e428 | 5 | DigitalOut mled(LED1); |
enricoan | 0:5b3b34d4e428 | 6 | |
enricoan | 0:5b3b34d4e428 | 7 | int main() { |
enricoan | 0:5b3b34d4e428 | 8 | char tecla; |
enricoan | 0:5b3b34d4e428 | 9 | int solta = 1; |
enricoan | 0:5b3b34d4e428 | 10 | |
enricoan | 0:5b3b34d4e428 | 11 | while(1){ |
enricoan | 0:5b3b34d4e428 | 12 | mled = 1; // LED is ON |
enricoan | 0:5b3b34d4e428 | 13 | wait(0.2); // 200 ms |
enricoan | 0:5b3b34d4e428 | 14 | mled = 0; // LED is OFF |
enricoan | 0:5b3b34d4e428 | 15 | wait(1.0); // 1 sec |
enricoan | 0:5b3b34d4e428 | 16 | |
enricoan | 0:5b3b34d4e428 | 17 | tecla = teclado.ReadKey(); //read the current key pressed |
enricoan | 0:5b3b34d4e428 | 18 | |
enricoan | 0:5b3b34d4e428 | 19 | if(tecla == '\0') |
enricoan | 0:5b3b34d4e428 | 20 | solta = 1; //set the flag when all keys are released |
enricoan | 0:5b3b34d4e428 | 21 | |
enricoan | 0:5b3b34d4e428 | 22 | if((tecla != '\0') && (solta == 1)) { //if a key is pressed AND previous key was released |
enricoan | 0:5b3b34d4e428 | 23 | printf("%c\n", tecla); |
enricoan | 0:5b3b34d4e428 | 24 | solta = 0; //clear the flag to indicate that key is still pressed |
enricoan | 0:5b3b34d4e428 | 25 | } |
enricoan | 0:5b3b34d4e428 | 26 | } |
enricoan | 0:5b3b34d4e428 | 27 | } |