问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32-HAL库(快速入门)-1-工程创建

创作时间:
作者:
@小白创作中心

STM32-HAL库(快速入门)-1-工程创建

引用
CSDN
1.
https://blog.csdn.net/qq_64931749/article/details/138258217

本文是一篇关于STM32 HAL库工程创建的教程,主要面向已经学习过标准库并希望转学HAL库的读者。文章详细介绍了使用CubeMX工具创建STM32工程的步骤,包括芯片选择、基础配置、时钟配置、项目配置等,并对生成的工程文件夹结构进行了说明。

适合学习过标准库和一些简单操作的同学转至HAL库,不会写的太细,想仔细学习建议看正点原子140小时的详细教学视频
考虑到stm32库函数学习的繁琐与备赛时间紧张之间的矛盾,我打算用HAL库来快速入门操作stm32,并且由于学校开启了为期三周的课设实验周,所以我打算将这个系列在三周内更完,内容包括stm32f4常用外设的使用和f1两轮平衡小车的pid调节

代码文件:
链接:https://github.com/yourusername/your-repo-name
提取码:hjv7

目录
一、cubemx和固件库安装
二、新建工程
1.选择(ACCESS TO MCU SELECTOR)进入芯片类型选择
2.选择我们使用的stm32f407zgt6芯片
3.基础配置
Ⅰ.Pin-configuration
Ⅱ.Clock-configuration
Ⅲ.Project-configuration
Project
Code Generator
Advanced Settings
Ⅳ.Tool
4.生成代码
三、新建文件夹解析
Core:
Drivers
MDK-ARM
ioc

一、cubemx和固件库安装

跳过

二、新建工程

1.选择(ACCESS TO MCU SELECTOR)进入芯片类型选择

2.选择我们使用的stm32f407zgt6芯片

3.基础配置

可以看到,cubemx的界面还是相当清晰明了的,先简单介绍一下,基于篇幅原因后续再展开介绍

Ⅰ.Pin-configuration

System Core:配置系统内核里的外设
DMA:直接存储器访问。可以不经过CPU直接把一块区域的数据直接复制到另一块区域中,这样就节省了CPU的资源,让CPU做一些更复杂的工作。
GPIO:通用输入输出端口。可以理解为一个电平点,你可以让它输出高电平or低电平
IWDG:独立看门狗。如果系统故障一段时间,它会自动另系统复位
NVIC:中断管理系统。可以管理每一个需要中断的线
RCC:时钟配置
SYS:配置debug模式
WWDG:窗口看门狗

Analog: 包含ADC and DAC功能配置

Timers: 32最nb的外设——定时器

Connectivity: 一些与其他外部设备交流的方法,包括CAN,I2C,SPI,USART等通信

pin中,基础配置只需要配置RCC和SYS即可

RCC:高速时钟和低速时钟均选择使用外部晶振

master clock output选择后在一个引脚可以同步输出时钟,暂时不需要勾选

SYS:配置使用串口进行debug

Ⅱ.Clock-configuration

配置32时钟,32的程序是一步一步进行的,那怎么个节奏来执行呢?就通过时钟来配置,若1hz频率,那代码里的代码就是1秒执行一行,这里我们直接配置上F4的最高速168M,不同芯片下面都会有提示最大的是什么

输入168,回车,会提示是否需要自动配置,我们选择ok,系统就会自动配置分频器达到168M

Ⅲ.Project-configuration

Project

project中可设置项目名称、路径、IDE 类型

toolchain/ide :由于我们用的是keil,所以选择mdk-arm版本最新即可,下面全部默认

Code Generator

第一部分:

  1. 复制所有的库文件到工程目录中;2. 只复制必须的库到工程目录中

电脑速度快选1,如果电脑较卡选2

第二部分:
每个外设有单独的 .c/.h 文件,即将外设的配置文件单独配置成两个文件供我们调用,初学者必选

Advanced Settings

可选 HAL 库和 LL 库(HAL 编译后文件大,LL 编译后文件小)一般全HAL

Ⅳ.Tool

不用动

4.生成代码

单击generate code

可选择打开路径或直接打开工程或close关闭不做操作

三、新建文件夹解析

Core:

存放了CubeMX生成的外设代码文件

Drivers

存放了HAL库文件、芯片内核文件。

MDK-ARM

存放了Keil的工程入口文件、调试文件、编译输出文件等。

ioc

点击可以回到cubemx配置工程

进入MDK-ARM后则可以找到uvprojx文件,单机后则可进入cubemx新建的程序之中

新建成功,可以找到main函数进行编程了

注意:

main中要在user code begin和user code end之间编写才不会在重新配置cubemx之后被清除掉

有什么问题可以直接在底下评论

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号