目录
文章目录
前言
学习目标
学习内容
需求
开发流程
项目创建
芯片配置
功能配置
时钟配置
项目配置
编写代码
编译测试
烧录失败解决
编辑
总结
前言
在嵌入式系统开发中,掌握HAL库开发流程、STMCubeMX配置过程以及API的查询和使用方式是非常重要的学习目标。HAL库(Hardware Abstraction Layer)提供了对底层硬件的抽象,使开发者能够更加便捷地访问和控制微控制器的功能。而STMCubeMX作为一款优秀的配置工具,可以帮助开发者快速进行芯片配置和初始化代码生成,加速开发过程。同时,熟练地查询和使用API则能够帮助开发者更加灵活地编写代码,实现各种功能需求。本文将详细介绍点灯LED1项目的开发流程,从项目创建到代码编写再到测试调试,帮助读者达成学习目标。
学习目标
- 掌握hal库开发流程
- 掌握STMCubeMX配置过程
- 掌握API查询和使用方式
学习内容
需求
点灯LED1
开发流程
- 新建项目
- 芯片配置
- 编写代码
- 测试调试
项目创建
- 新建项目
- 选择芯片: 输入自己使用的芯片, 开始工程配置。
芯片配置
功能配置
这里需求是点灯,配置相对简单。
- 来到引脚配置页面。
- 找到具体的引脚。以点灯的PB2为例,左键单击
- 配置功能。单击引脚。
时钟配置
添加高速外部时钟
切换到Clock Configuration, 配置外部晶振为8M及芯片主频168
项目配置
- 项目基本配置
在Project Manager的Project选项卡里配置如下内容:
- 工程名称Project Name -> 填写一个不包含中文和空格的目录名
- 工程路径Project Location -> 选择一个不包含中文和空格的文件路径
- 工具链/IDE -> 选择MDK-ARM
- 代码生成配置
- 生成代码
- 生成完成后。
点击打开项目。会用keil打开。
如果你上一步环境搭建没有完成,这里会出现次状况:需要下载依赖。建议回到上一步,进行离线的开发包安装(除非你访问国外的网络非常快,可以直接在这里下载)
编写代码
自动生成代码结构如下:
我们对main.c进行编辑:
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2);
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
插入gpio控制代码
编译测试
和SPL库一样,进行编译,烧录,看效果。
烧录失败解决
如果烧录时,弹出如下提示,并且无法烧录:
按照如下路径进行添加Flash Programming Algorithm
即可解决:
在Flash Download
里添加Programming Algorithm
添加后效果如下:
总结
通过本文的学习内容,读者可以学习到HAL库开发流程、STMCubeMX的配置方法以及如何查询和使用API。通过新建项目、选择芯片、配置引脚功能和时钟,完成项目配置和代码生成等步骤,读者可以掌握如何进行点灯LED1项目的开发。在编写代码部分,读者可以学习到如何使用HAL库提供的函数控制GPIO,实现LED的闪烁效果。最后,在编译测试部分,读者可以通过编译、烧录和观察效果来验证代码的正确性。同时,在解决烧录失败的情况下,读者也可以学习到如何添加Flash Programming Algorithm来解决问题。通过这些学习内容,读者将能够更加熟练地应用HAL库和STMCubeMX工具进行嵌入式系统开发,为日后的项目开发打下良好的基础。