Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of study_step0 by
key_3x4.cpp@3:0c888cad9376, 2020-04-13 (annotated)
- Committer:
- kenjiArai
- Date:
- Mon Apr 13 02:07:09 2020 +0000
- Revision:
- 3:0c888cad9376
- Parent:
- 2:aa6fdecebf2b
- Child:
- 4:0564f82dd0ef
modified keypad library and changed port assign
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kenjiArai | 2:aa6fdecebf2b | 1 | /* |
| kenjiArai | 2:aa6fdecebf2b | 2 | * Mbed Application program |
| kenjiArai | 2:aa6fdecebf2b | 3 | * example: |
| kenjiArai | 2:aa6fdecebf2b | 4 | * Akizuki AE-KIT45-KEYPAD4X3 |
| kenjiArai | 2:aa6fdecebf2b | 5 | * http://akizukidenshi.com/catalog/g/gK-12229/ |
| kenjiArai | 2:aa6fdecebf2b | 6 | * |
| kenjiArai | 2:aa6fdecebf2b | 7 | * Copyright (c) 2017,'20 Kenji Arai / JH1PJL |
| kenjiArai | 2:aa6fdecebf2b | 8 | * http://www7b.biglobe.ne.jp/~kenjia/ |
| kenjiArai | 2:aa6fdecebf2b | 9 | * https://os.mbed.com/users/kenjiArai/ |
| kenjiArai | 2:aa6fdecebf2b | 10 | * Created: September 27th, 2017 |
| kenjiArai | 3:0c888cad9376 | 11 | * Revised: April 13th, 2020 |
| kenjiArai | 2:aa6fdecebf2b | 12 | */ |
| kenjiArai | 2:aa6fdecebf2b | 13 | |
| kenjiArai | 2:aa6fdecebf2b | 14 | // Pre-selection -------------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 15 | #include "select_example.h" |
| kenjiArai | 2:aa6fdecebf2b | 16 | //#define KEY3X4 |
| kenjiArai | 2:aa6fdecebf2b | 17 | #ifdef KEY3X4 |
| kenjiArai | 2:aa6fdecebf2b | 18 | |
| kenjiArai | 2:aa6fdecebf2b | 19 | // Include -------------------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 20 | #include "mbed.h" |
| kenjiArai | 2:aa6fdecebf2b | 21 | #include "Keypad.h" |
| kenjiArai | 2:aa6fdecebf2b | 22 | |
| kenjiArai | 2:aa6fdecebf2b | 23 | // Definition ----------------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 24 | |
| kenjiArai | 2:aa6fdecebf2b | 25 | // Object --------------------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 26 | DigitalOut my_led(LED1); |
| kenjiArai | 2:aa6fdecebf2b | 27 | Serial pc(USBTX,USBRX); |
| kenjiArai | 3:0c888cad9376 | 28 | // X Y Z A B C D OUT(XYZ), IN(ABCD) |
| kenjiArai | 3:0c888cad9376 | 29 | Keypad key(D11, D10, D9, D6, D5, D4, D3); |
| kenjiArai | 2:aa6fdecebf2b | 30 | |
| kenjiArai | 2:aa6fdecebf2b | 31 | // RAM ------------------------------------------------------------------------ |
| kenjiArai | 2:aa6fdecebf2b | 32 | |
| kenjiArai | 2:aa6fdecebf2b | 33 | // ROM / Constant data -------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 34 | // X*A = *, X*B = 7, X*C = 4, X*D = 1 |
| kenjiArai | 2:aa6fdecebf2b | 35 | // Y*A = 0, Y*B = 8, Y*C = 5, Y*D = 2 |
| kenjiArai | 2:aa6fdecebf2b | 36 | // Z*A = #, Z*B = 9, Z*C = 6, Z*D = 3 |
| kenjiArai | 2:aa6fdecebf2b | 37 | // key_table[0]=? is not used! |
| kenjiArai | 2:aa6fdecebf2b | 38 | const char *const key_table = "?*7410852#963"; |
| kenjiArai | 2:aa6fdecebf2b | 39 | // 123456789012 |
| kenjiArai | 2:aa6fdecebf2b | 40 | |
| kenjiArai | 2:aa6fdecebf2b | 41 | // Function prototypes -------------------------------------------------------- |
| kenjiArai | 2:aa6fdecebf2b | 42 | |
| kenjiArai | 2:aa6fdecebf2b | 43 | //------------------------------------------------------------------------------ |
| kenjiArai | 2:aa6fdecebf2b | 44 | // Control Program |
| kenjiArai | 2:aa6fdecebf2b | 45 | //------------------------------------------------------------------------------ |
| kenjiArai | 2:aa6fdecebf2b | 46 | int main() |
| kenjiArai | 2:aa6fdecebf2b | 47 | { |
| kenjiArai | 2:aa6fdecebf2b | 48 | uint32_t key_num; |
| kenjiArai | 2:aa6fdecebf2b | 49 | uint32_t counter = 0; |
| kenjiArai | 2:aa6fdecebf2b | 50 | |
| kenjiArai | 3:0c888cad9376 | 51 | pc.printf("Start Key-Pad test 3x4 keys\r\n"); |
| kenjiArai | 2:aa6fdecebf2b | 52 | while(true) { |
| kenjiArai | 2:aa6fdecebf2b | 53 | while ((key_num = key.read()) != 0) { |
| kenjiArai | 2:aa6fdecebf2b | 54 | pc.printf("%2u:[%2d] %c\r\n", |
| kenjiArai | 2:aa6fdecebf2b | 55 | counter++, key_num, *(key_table + key_num)); |
| kenjiArai | 2:aa6fdecebf2b | 56 | } |
| kenjiArai | 2:aa6fdecebf2b | 57 | wait_us(100000); |
| kenjiArai | 2:aa6fdecebf2b | 58 | } |
| kenjiArai | 2:aa6fdecebf2b | 59 | } |
| kenjiArai | 2:aa6fdecebf2b | 60 | |
| kenjiArai | 2:aa6fdecebf2b | 61 | #endif // #ifdef KEY3X4 |
