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”烧录即可
热门推荐
解码冰墩墩:从设计到“顶流”的文化密码
揭秘“冰墩墩”爆红背后的创意密码
解密冰墩墩爆火密码:社交媒体营销策略全解析
从冰墩墩到国潮:一场文化自信的崛起
冰墩墩:国际文化交流的超级明星
污水处理厂机械设备常见故障与解决方案: 提升环保效能的实用指南
智能制造革命:一窥新能源汽车行业的机械臂应用
智能家居装修指南:14种电器如何预埋水电
智能家居技术的发展与应用:从自动化到智能化的演变
春节的故事:中国新年习俗的历史与演变
洗胃后胃疼是怎么回事
《蛋仔派对》PK《王者荣耀》:谁才是真正的王者?
走路不稳是什么原因
走路不稳有摇晃感挂什么科室检查
【羊城晚报】竟然还有“舞蹈病”?阿姨血糖失控后不停“起舞”
量子宇宙学:揭秘大爆炸前的秘密
普朗克与爱因斯坦:量子力学的奠基之路
解密薛定谔方程:量子力学的基石
量子纠缠:物理学与哲学的交汇点
宜阳灵山寺:千年古刹的建筑艺术与文化传承
央视推荐:徐州必打卡地锅鸡!
徐州必打卡:云龙湖&窑湾古镇
徐州:探寻两汉文化的瑰宝之地
云龙湖风景区:徐州必打卡的“城市绿肺”
支气管炎哮喘怎么治
支气管炎用什么药效果好
一个人的旅行,一群人的狂欢:如何在旅行中结交新朋友?
徐州博物馆:汉文化瑰宝的守护者
徐州下周晴朗出行指南:10大景点+美食推荐,玩转这座历史文化名城
支气管炎吃什么药好得快