Optimized polling keybolard reading

Dependents:   design_project

Committer:
fangoman91
Date:
Tue May 12 14:50:28 2015 +0000
Revision:
0:7082c7132e50
Optimized Keyboard (3x4) polling based reading

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fangoman91 0:7082c7132e50 1 #ifndef KEYPAD3x4POLLING_H
fangoman91 0:7082c7132e50 2 #define KEYPAD3x4POLLING_H
fangoman91 0:7082c7132e50 3
fangoman91 0:7082c7132e50 4 #include "BusOut.h"
fangoman91 0:7082c7132e50 5 #include "BusIn.h"
fangoman91 0:7082c7132e50 6
fangoman91 0:7082c7132e50 7 #define NO_PRESS 10
fangoman91 0:7082c7132e50 8
fangoman91 0:7082c7132e50 9 namespace mbed
fangoman91 0:7082c7132e50 10 {
fangoman91 0:7082c7132e50 11 class Keypad
fangoman91 0:7082c7132e50 12 {
fangoman91 0:7082c7132e50 13 public:
fangoman91 0:7082c7132e50 14 Keypad(PinName col1,PinName col2,PinName col3,PinName row1,PinName row2,PinName row3,PinName row4);
fangoman91 0:7082c7132e50 15 char read();
fangoman91 0:7082c7132e50 16 protected:
fangoman91 0:7082c7132e50 17 BusIn _cols;
fangoman91 0:7082c7132e50 18 BusOut _rows;
fangoman91 0:7082c7132e50 19 };
fangoman91 0:7082c7132e50 20 }
fangoman91 0:7082c7132e50 21 #endif
fangoman91 0:7082c7132e50 22
fangoman91 0:7082c7132e50 23 /*SIMPLE EXAMPLE
fangoman91 0:7082c7132e50 24
fangoman91 0:7082c7132e50 25 #include "mbed.h"
fangoman91 0:7082c7132e50 26 #include "Keypad3x4polling.h"
fangoman91 0:7082c7132e50 27
fangoman91 0:7082c7132e50 28 Serial pc(USBTX,USBRX);
fangoman91 0:7082c7132e50 29
fangoman91 0:7082c7132e50 30 Keypad Keyboard(p17,p16,p15,p10,p9,p8,p7);
fangoman91 0:7082c7132e50 31
fangoman91 0:7082c7132e50 32 int main()
fangoman91 0:7082c7132e50 33 {
fangoman91 0:7082c7132e50 34 char button;
fangoman91 0:7082c7132e50 35 pc.printf("Premi un tasto:");
fangoman91 0:7082c7132e50 36 while(1)
fangoman91 0:7082c7132e50 37 {
fangoman91 0:7082c7132e50 38 button = Keyboard.read();
fangoman91 0:7082c7132e50 39 if(button != NO_PRESS)
fangoman91 0:7082c7132e50 40 pc.putc(button);
fangoman91 0:7082c7132e50 41 wait(0.2);
fangoman91 0:7082c7132e50 42 }
fangoman91 0:7082c7132e50 43 }
fangoman91 0:7082c7132e50 44
fangoman91 0:7082c7132e50 45 */