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”烧录即可
热门推荐
新手爸妈必知:30条育儿智慧,助力轻松带娃之路
跳频信号——多跳频信号的参数估计
重庆瞭望|看好重庆经济的五个理由
股权质押期间能否过户?一文详解相关法律规定
怎样快速恢复电脑硬盘数据?六种实用技巧
早期肠癌饮食需要注意哪些问题
怕做肠镜?早期肠癌最方便、无痛的检测方法在这里~
外呼机器人违法吗?使用边界与合规指南
肺气肿的症状、治疗方法及日常管理指南
DebateGPT:通过多智能体辩论监督微调大模型
怀化旅游全攻略:四季之魅,不容错过的湖南秘境
2025年虚拟币种一览表:这些潜力币值得关注
下颚长痘痘的原因分析
升结肠多发憩室是什么意思
一个渡人自渡的故事——《摆渡人》
高中容易混淆的80组英语单词
面部气色差怎么调理
马可波罗诚不欺我!探秘 900 年西夏皇家寺院:张掖大佛寺,震撼到失语
阿姓的历史与文化:阿姓的起源、分布
近八成老人至少患一种慢病 专家呼吁设立“疾病关注日”
非遗焕新 生生不息丨老戏新排、老戏新人 创新传承助力黄梅戏青春接力
安全冗余:多重备份下的系统可靠性保障
支票是何时产生的?支票的出现对金融交易有哪些影响?
如何设计一套上传文件的API
留学机票转机需要提前准备什么?转机流程是怎样的?
贵阳机场6家航空公司调整至T3运行,旅客出行请注意!
劳动争议请求书撰写指南:技巧与注意事项
北交所新股申购需要注意的问题
MES系统工位:深入理解与应用
数字内容跨平台协同体验优化