键盘接口¶
作者:金艺
概述¶
Air724UG支持6X6键盘矩阵,可以在luat二次开发的方式应用,但注意AT版本不支持键盘功能。如下是键盘管脚列表:
管脚定义¶
管脚名 |
管脚 |
I/O |
管脚描述 |
电气特性 |
备注 |
---|---|---|---|---|---|
KEYIN0 USB_BOOT |
66 |
I |
扫描 键盘输入0 |
VIL min=-0.3V VI Lmax=0.6V VI Hmin=1.2V VI Hmax=2.0V VOHmin= V_GLOBA L_1V8*0.7 VOLmax= V_GLOBA L_1V8*0.3 |
电 压域是V_G LOBAL_1V8 不 用则悬空 |
KEYIN1 |
91 |
I |
扫描 键盘输入1 |
同上 |
同上 |
KEYIN2 |
92 |
I |
扫描 键盘输入2 |
同上 |
同上 |
KEYIN3 |
93 |
I |
扫描 键盘输入3 |
同上 |
同上 |
KEYIN4 |
94 |
I |
扫描 键盘输入4 |
同上 |
同上 |
KEYIN5 |
95 |
I |
扫描 键盘输入5 |
同上 |
同上 |
KEYOUT0 |
96 |
O |
扫描 键盘输出0 |
同上 |
同上 |
KEYOUT1 |
97 |
O |
扫描 键盘输出1 |
同上 |
同上 |
KEYOUT2 |
98 |
O |
扫描 键盘输出2 |
同上 |
同上 |
KEYOUT3 |
99 |
O |
扫描 键盘输出3 |
同上 |
同上 |
KEYOUT4 UART3_RXD |
89 |
O |
扫描 键盘输出4 |
同上 |
同上 |
KEYOUT5 UART3_TXD |
90 |
O |
扫描 键盘输出5 |
同上 |
同上 |
注意:
1. KEYIN0 复用为USB_BOOT ,开机过程中如果上拉了KEYIN0会进入下载模式。
2. KEYPAD接口的所有管脚不能复用为GPIO
参考设计¶
注意: 1. 键盘走线请尽量远离天线,以免对天线造成干扰。
2. 键盘走线串联1K电阻以做ESD防护
AT版本相关控制指令¶
不支持
LUAT开发相关接口¶
KEYPAD使用流程: 1.注册按键消息处理函数:
--注册按键消息处理函数
--keyMsg为按键消息的回调函数,处理按键消息
rtos.on(rtos.MSG_KEYPAD,keyMsg)
` 2.初始化键盘设置
--初始化键盘阵列
--第一个参数:固定为rtos.MOD_KEYPAD,表示键盘
--第二个参数:目前无意义,固定为0
--第三个参数:表示键盘阵列keyin标记,例如使用了keyin0、keyin1、keyin2、keyin3,则第三个参数为1<<0|1<<1|1<<2|1<<3 = 0x0F
--第三个参数:表示键盘阵列keyout标记,例如使用了keyout0、keyout1、keyout2、keyout3,则第四个参数为1<<0|1<<1|1<<2|1<<3 = 0x0F
rtos.init_module(rtos.MOD_KEYPAD,0,0x0F,0x0F)--如果要检测powerkey键,最后两个参数设置为0xFF
3.回调函数处理按键消息
function keyMsg(msg)
--msg.key_matrix_row:行
--msg.key_matrix_col:列
--msg.pressed:true表示按下,false表示弹起
log.info("keyMsg",msg.key_matrix_row,msg.key_matrix_col,msg.pressed)
end
相关资料以及购买链接¶
相关开发板购买链接 Air724UG开发板 Air724 开发板使用说明
常见问题¶
为什么KEYIN0的按键在开机时被按下后就会不开机。 答:因为KEYIIN0信号复用为是USB_BOOT,如果被按下就会进入下载模式,就进入不了开机流程。只需重新断电开机就能恢复