首页 > 代码库 > 4X4矩阵键盘扫描程序

4X4矩阵键盘扫描程序

4X4矩阵键盘扫描:

1. 4根行线的GIO均设为Output,根列线的GIO均设为Input;

2. 4根行线的GIO分别置为0111、1011、1101、1110,读逐一读取列线GIO的值,可确定是哪一个按键;


电路图如下:


注意:

1. 图中用作输入的GIO,一定要有一个上拉电阻。

2. 芯片中的每一个引脚是否用作了GPIO口来用,需配置芯片的寄存器,使引脚当作GPIO口来使用,才会有效。


测试代码如下:

#define KEY_GIO_ROW_1	37
#define KEY_GIO_ROW_2	33
#define KEY_GIO_ROW_3	32
#define KEY_GIO_ROW_4	35
#define KEY_GIO_COL_1	22
#define KEY_GIO_COL_2	23
#define KEY_GIO_COL_3	24
#define KEY_GIO_COL_4	36
int scanKey()
{
	int keyValue = http://www.mamicode.com/0;>
代码中dm365SetGPIO( )里将GPIO默认设置为Output,

dm365GetGPIO( )中将GPIO默认设置为Input,

通过字符设备驱动实现应用层操作底层GPIO。

4X4矩阵键盘扫描程序