概述

系统支持4X4组成的16key键盘,但是如果需要485的E1端口(485方向通信控制),系统也可以降级为4X3,也就是12key键盘;

硬件:

在使用4X4键盘的时候,系统会将E3--E6设置为输出,而E2、E1、TX2、RX2设置为输入,因此循环E3--E6逐个设置为低电平,然后读取按钮状态;

软件使用

//启动16键键盘模式
gpio_key(3);    

//继承page控件的onkey事件
void page.onkey(int t,int k){
    //此时,在16键或12键模式下,k返回按键的编号
    str s;
    s="k:"+int2hex(k,4)+" t:"+t+"\r\n";
    echo(s);
}

//关闭键盘
gpio_key(0); //关闭键盘
setcom(1,115200);   //重置串口2为串口;根据需要设置

继承page控件的onkey事件

t是按键事件标志:

t 描述
0 按钮被按下
2 按钮被松开,弹起事件

k 变量是按键的编码,键盘的位置参见硬件图的编号

12键模式

//启动12键键盘模式
gpio_key(2);

此时,E1将不在键盘扫描中,也就是说1、5、9、13号按钮不会出现;