STM32F429I-Discovery学习笔记–(3)使用GPIO进行按键检测
写在前面
由于我们使用的是官方的开发板,所以在用STM32CubeMX可以选择从开发板建立工程,官方默认已经将所有的引脚和功能配置完成,但是我们现在只是学习每一个独立的功能,因此这里我们从芯片建立工程,根据原理图配置我们的芯片引脚和功能。
1.准备工作
硬件准备
软件准备
- STM32CubeMX
- keil-MDK及芯片对应的包
2.生成MDK工程
选择芯片型号
选择从芯片创建工程。
查找并选择芯片。
配置时钟
选择使用外部高速时钟(HSE).
开发板上的晶振为8MHz,如图所示配置时钟树。
配置GPIO引脚
查找开发板原理图,找到与LED相连的引脚。
查找开发板原理图,找到与按键相连的引脚。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6sNld7XL-1628586928225)(https://i.loli.net/2021/08/10/cM3FEWTBRt5aeqg.png)]
这里我们以绿色LED灯为例,在Pinout&Configuration中配置PG13引脚,设置为输出。
给PG13引脚设置为Input, 选择出发方式为下降沿Pull-down, 自定义名字为G_LED, 方便我们使用。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WkjjCSzb-1628586928228)(https://i.loli.net/2021/08/10/qbdQBTUKmvWJx1k.png)]
生成工程选项设置
设置工程名称还有编译器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jo4U0QtH-1628586928230)(https://i.loli.net/2021/08/10/dLy5Dn6wCbGmpac.png)]
根据个人习惯进行设置,推荐使用下面的设置。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I5KhkJu4-1628586928231)(https://i.loli.net/2021/08/10/3KSrdPbyWHEtQLG.png)]
生成MDK工程
点击生成,完成后打开初始化代码。
3. 在MDK中编[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t1kqHUOq-1628586928234)(https://i.loli.net/2021/08/10/DpToSeEYj2K8IAJ.png)]写、编译、下载用户代码
编写代码
打开main.c文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-85109I1O-1628586928235)(https://i.loli.net/2021/08/10/mYASLd1IfnizhNC.png)]
在/* USER CODE BEGIN x /和/ USER CODE END3 x/之间编写代码,所用到的函数均为HAL库中所编写好的,可以在网上查到相应的功能。
while (1)
{
if(HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) == 0)
{
HAL_GPIO_TogglePin(G_LED_GPIO_Port, G_LED_Pin);
}
}
设置Debug
-
选择ST-link,设置为SW模式。 -
选中下载后运行。
编译下载
编译无误后下载到开发板。
4.实验现象
按下蓝色按键绿色LED灯闪烁。
|