STM32 HAL库开发入门:GPIO控制LED
创作时间:
作者:
@小白创作中心
STM32 HAL库开发入门:GPIO控制LED
引用
CSDN
1.
https://m.blog.csdn.net/qq_45217381/article/details/145584685
本文是一篇关于STM32 HAL库开发的入门教程,主要介绍了使用STM32 CubeIDE和Proteus进行GPIO开发的基本步骤。文章内容包括新建工程、配置时钟、配置GPIO、编写代码以及下载程序等环节,详细描述了按键控制LED的实现过程,并配有相应的图片说明。
一、新建工程
打开开发软件,左上角“文件”—“新建”—“STM32 Project”
选择芯片型号,我们这里使用的是STM32F103C6T6A,可以直接搜索
配置好工程名称,点击完成
二、配置时钟
找到“System Core”—“RCC”
配置HSE时钟
找到时钟树配置,将主频设置为72MHz,按下“Enter”键会自动配置好全部内容
三、配置GPIO
3.1 LED引脚配置
LED引脚为PC13,配置成输出模式,找到PC13引脚,选择“GPIO_Output”
在左侧配置好初始电平、输出速度,可以自定义一个引脚标签
3.2 按键引脚配置
按键需要配置成输入模式,我们硬件电路中按键一端接IO,另一端接GND,所以配置按键引脚为上拉输入模式,按键引脚选择PB7
四、其他配置
为了增加代码的可读性,我们配置自动生成代码时生成单独的.c和.h文件,配置步骤如下
另外需要Debug的话还需要配置一下这里
五、代码
5.1 生成代码
上面的内容全部配置完成后我们点击“项目”,选择“Generate Code”自动生成代码
5.2 配置生成.hex文件
点击“项目”—“属性”
5.3 LED状态翻转
我们先来测试一下LED状态翻转
while (1)
{
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
编写完成后点击构建,这里博主使用Proteus仿真了一下,用实物的小伙伴可以直接烧录到板子里,后面介绍如何烧录,测试效果如下
5.4 按键控制LED
我们写一段按键检测程序,在检测到按键按下时翻转LED状态
/* USER CODE BEGIN WHILE */
while (1)
{
// 按键按下
if (HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin) == 0)
{
// 延时消抖
HAL_Delay(10);
if (HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin) == 0)
{
// 松手检测
while (!HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin));
// 翻转LED状态
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
}
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
测试效果如下
六、下载程序
打开“STM32 ST-LINK Utility”,先连接板子
之后点击下载,选择.hex文件,点击“start”烧录即可
热门推荐
杵状指是什么疾病的前兆
BTC 与传统资产类别的相关性如何演变 ?
《仪容仪表课程》:全面提升个人形象与气质
揭秘车衣膜:从TPU薄膜到高性能涂布的全过程
深度分析T/T、L/C、D/P、D/A等国际贸易常见付款方式
提升你的AI绘画作品集准备水平
汇金公司进行资源大整合,对市场影响如何?
浅谈企业多产品结构下毛利率分析
离心力:一个虚拟力的现实应用
支气管炎是怎么引起来的原因
父母过度干涉婚姻,小夫妻吵架成“开团”
纵有万种理由,瓜迪奥拉也要面对现实,曼城真的不行了吗
三分钟看懂新能源汽车动力类型
短板补齐!99A主战坦克主动防护系统开始实装,防护能力获新突破
为什么你家猫的耳朵前面有点秃?单纯的秃头?还是有进化原因?
心肌炎是什么原因造成的?六大危险信号要警惕
线上线下融合服务,高效创新便企利民,长沙望城持续提升不动产登记效能
冰球训练计划书
阴阳师道馆打荒泷阵容详解 | 2024年高胜率推荐与策略分析
算八字给多少钱合适,让人看八字需要给多少钱
10个手指戴戒指的不同意义
机关公务员中的一级科员和四级主任科员的工资差距有多大?
宝宝的睡眠信号有3个级别,入睡最快的级别,父母要懂得分辨
中国人形机器人需求迎来爆发期
生辰八字泄露后的补救措施与防范建议
感应坩埚熔炼炉:工业金属加工的创新利器
C语言中判断一个数为负数的多种方法
认识天津的四个维度:写在天津建城620周年之际
阳坊涮羊肉:非遗两百年,京城老字号的传承与创新
项目管理系统如何管理版本号