概述
系统支持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号按钮不会出现;