在stm32cubeMX里进行按键初始化配置
1.先把上一讲的HAL_01_LED_TEST复制一份并重命名为HAL_02_KEY_TEST
2.用stm32cubeMX打开源HAL_00_SOURCE并配置按键需要用到的引脚(如下图所示)
3.配置PB0、PB1、PB2、PA0为输入模式不带上下拉(浮空输入)配置好后生成代码
在keil里编写函数实现功能
1.在src和inc的BSP文件夹里新建key文件夹,在key文件夹里分别存放bsp_key.c和bsp_key.h
2.打开HAL_02_KEY_TEST,在三个小方块里的BSP中添加bsp_key.c
3.在main.c中声明bsp_key.h头文件,这样我们就可以在主函数中调用bsp_key.c里的函数并编写代码
4.在bsp_key.c中声明.h头文件,
在bsp_key.h里声明main.h这样就可以调用HAL库函数
5.移植源里的初始化代码到HAL_02_KEY_TEST,进行按键引脚的初始化
6.在main.c主函数中调用初始化代码完成按键引脚的初始化
7.在bsp_key.c中编写按键扫描函数来判断我们按下的是哪个按键并返回unkey_Val(只有五种情况0,1,2,3,4)
8.编写 key_proc() 按键处理函数(我们让他200ms执行一次,不要一进去函数就执行),需要用到滴答值uwTick(这个值从给单片机上电开始是一直不断增加的,每一毫米+1)
9.找到滴答值专用数据类型 __IO uint32_t ,定义打点值uwTick_Set_Point并初始化为0,再定义四个按键扫描专用变量
10.编写函数(每200ms才会进入一次key_proc() )
编写按键专用三行代码,对应哪个按下哪个按键哪个led灯亮
情况说明