test program for keypad(Extended not only 3x4 but 4x4,4x5 and 5x5 keys)

Dependencies:   Keypad

Fork of study_step0 by Team_PjL

see /users/kenjiArai/notebook/keypadkey-matrix--control/

main.cpp

Committer:
kenjiArai
Date:
2017-09-30
Revision:
1:abadd53f2072
Parent:
0:1672d0903bdc

File content as of revision 1:abadd53f2072:

/*
 * Mbed Application program / Akizuki AE-KIT45-KEYPAD4X3
 *  http://akizukidenshi.com/catalog/g/gK-12229/
 *
 * Copyright (c) 2017 Kenji Arai / JH1PJL
 *  http://www.page.sannet.ne.jp/kenjia/index.html
 *  http://mbed.org/users/kenjiArai/
 *      Created:    September 27th, 2017
 *      Revised:    October    1st, 2017
 */

//  Include --------------------------------------------------------------------
#include "mbed.h"
#include "Keypad.h"

//  Definition -----------------------------------------------------------------

//  Object ---------------------------------------------------------------------
DigitalOut  my_led(LED1);
Serial      pc(USBTX,USBRX);
            //  X    Y   Z   A   B   C   D   OUT(XYZ), IN(ABCD)
Keypad      key(D10, D9, D8, D7, D6, D5, D4);

//  RAM ------------------------------------------------------------------------

//  ROM / Constant data --------------------------------------------------------
                        // X*A = *, X*B = 7, X*C = 4, X*D = 1
                        // Y*A = 0, Y*B = 8, Y*C = 5, Y*D = 2
                        // Z*A = #, Z*B = 9, Z*C = 6, Z*D = 3
char *const key_table = "?*7410852#963";  // key_table[0]=? is not used!

//  Function prototypes --------------------------------------------------------

//------------------------------------------------------------------------------
//  Control Program
//------------------------------------------------------------------------------
int main() {
    uint32_t key_num;
    uint32_t counter = 0;

    pc.printf("Start Key-Pad test\r\n");
    while(true) {
        while ((key_num = key.read()) != 0){
            pc.printf("%04u : %c\r\n", counter++, *(key_table + key_num));
        }
        wait(0.1);  
    }
}