目录
一、背景:
最近项目做的电路板,需要给电路添加个简单的测试交互接口。因为之前预留的GPIO拓展引脚较多,因此考虑使用8个GPIO实现实时扫描4*4矩阵按键,长这样:
二、原理介绍:
简单介绍下原理:
黄色四列设置引脚为输入,上拉;
红色四行设置引脚为输出,推挽,引脚状态默认高电平;
黄色四列逐行输出低电平,来监测当前列中是否存在按下的按键;
如果当前列存在按下的按键,在二维平面中,则根据当前的(列序号,当前的行序号),可以得到当前按键的具体位置。
目录
最近项目做的电路板,需要给电路添加个简单的测试交互接口。因为之前预留的GPIO拓展引脚较多,因此考虑使用8个GPIO实现实时扫描4*4矩阵按键,长这样:
简单介绍下原理:
黄色四列设置引脚为输入,上拉;
红色四行设置引脚为输出,推挽,引脚状态默认高电平;
黄色四列逐行输出低电平,来监测当前列中是否存在按下的按键;
如果当前列存在按下的按键,在二维平面中,则根据当前的(列序号,当前的行序号),可以得到当前按键的具体位置。