Optimized polling keybolard reading
Keypad3x4polling.h@0:7082c7132e50, 2015-05-12 (annotated)
- 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?
User | Revision | Line number | New 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 | */ |