teste teclado

Dependencies:   mbed Keypad

Committer:
enricoan
Date:
Wed May 27 17:26:51 2020 +0000
Revision:
0:5b3b34d4e428
teste teclado separado

Who changed what in which revision?

UserRevisionLine numberNew 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 }