键盘接口

作者:金艺

概述

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

参考设计

image1 注意: 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,如果被按下就会进入下载模式,就进入不了开机流程。只需重新断电开机就能恢复