1. 实验目标
本实验主要通过对GPIO驱动操作,检测KEY是否被按下,通过按下可以控制对应的LED改变当前状态,从而实现KEY控制LED灯效果。
2. 实验准备
硬件搭建:ZW-HC32F460-BZ标准版开发板1套
软件搭建:MDK5.22
3.硬件原理
板载4个KEY功能指示灯,KEY1、KEY 2、KEY 3、KEY 4分别对应PB11、PE8、PE7、PH2引脚。原理图如下所示。
从图中可以看出,当按键被按下时,将检测到低电平。
4. 驱动代码
为了简化编程,让用户快速上手,我公司针对KEY驱动文件进行了深度优化编写,提供开源的key.c和key.h以供用户使用,现将源文件关键定义及函数做说明。
【KEY定义】
1)KEY编号定义
本案使用四个KEY灯,对四个KEY序号进行如下定义。
#define KEY1 0x0001
#define KEY2 0x0002
#define KEY3 0x0004
#define KEY4 0x0008
2)KEY端口和引脚定义
因为KEY按键是直接接入到GPIO引脚,通过检测对应的GPIO引脚的高低电平,就能检测到KEY是否被按下,其使用方法与GPIO操作类似。这里定义了各个KEY的端口号以及引脚号。