STM32开发板按键控制实验 | 您所在的位置:网站首页 › stm32f407按键控制 › STM32开发板按键控制实验 |
芯片:STM32F407ZG76 1MB flash
安装keil5 创建库函数模板 【1】 创建存放库函数模板的文件夹。名称:库函数模板 【2】 在库函数模板文件夹中创建文件夹User,存放用户程序 【3】 创建文件夹Obj 【4】 创建文件夹Libraries 【5】 在Libraries下创建文件夹CMSIS 【6】 复制STM32F4xx驱动到Libraries下 实验说明通过按键控制LED灯的开关 实验环境硬件: STM32F407-PZ6808L开发板 STM32仿真器 软件: Winddows7 64位操作系统 内存8GB Keil5 安装后需要添加Keil.STM32F4xx_DFP.2.7.0.pack Stm32CubeMx 安装后将STM32Cube_FW_F4_V1.13.0文件夹复制到C: \ Users \ Administrator \ STM32Cube \ Repository文件夹中。 文档: STM32F407-PZ6808L开发板原理图.pdf 实验现象按开发板上的K_RIGHT键D2灯亮,按K_DOWN键D2灯灭。 实验步骤1. 打开STM32F407-PZ6808L开发板原理图 找到LED灯模块
2链接引脚LED2 LED2 低电平灯亮 高电平灯灭 找到LED2 在STM32F407ZGT6核心板的链接引脚 在PDF阅读器上搜索 找到LED2引脚 引脚为PF10
查找按键K_RIGHT和K_DOWN在核心板上的引脚 先查找按键模块 分别对应K1和K2 然后在核心板上查找K1和K2的引脚名称
名称是PE2和PE3
分析: 按下K1则D2灯亮,按下K2则D2灯灭。 K1和K2按下后,引脚是低电平。判断PE2和PE3引脚的信号来确定K1和K2是否按下,若为低电平,在为按下,若为高电平,则为放开。
PE2和PE2引脚为输入类型。 PF10引脚为输出类型
2. 打开STM32CubeMX建立工程 (1) 置类型STM32F407ZGTx LQFP144 (2) 设置引脚类型 Peripherals->SYS->Debug设置为Serial Wire(仿真使用) 注意:一定设置,否则以后不能使用仿真器。
找到PF10,由于是控制LED灯,设置为输出类型(GPIO_Output),同理,设置PE2和PE3类型,为GPIO_Input (3) 对PE2和PE3mode进行设置 依次选择【Configuration】——GPIO
将GPIO Pull-up/Pull-down设置为Pull-up (4)设置工程 Project Settings->Project Name设置为KEY
Toolchain /IDE 设置为MDK-ARM V5
通过向导,自动生成初始化代码,然后通过Keil5打开工程
3. 先编译工程 在main.c中添加代码 uint8_t Check_Key() { if(HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_2)==GPIO_PIN_RESET || HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3)==GPIO_PIN_RESET) { HAL_Delay(10); if(HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_2)==GPIO_PIN_RESET) { return 1; } if(HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3)==GPIO_PIN_RESET) { return 2; }
} return 0; }
在main函数中 uint8_t key;
key=Check_Key(); switch(key) { case 1: HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET); break; case 2: HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET); break; } 编译
4. 链接仿真器仿真调试
然后按开发板上的复位键,测试。 实验文档.docx |
CopyRight 2018-2019 实验室设备网 版权所有 |