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

适合学习过标准库和一些简单操作的同学转至HAL库,不会写的太细,想仔细学习建议看正点原子140小时的详细教学视频

考虑到stm32库函数学习的繁琐与备赛时间紧张之间的矛盾,我打算用HAL库来快速入门操作stm32,并且由于学校开启了为期三周的课设实验周,所以我打算将这个系列在三周内更完,内容包括stm32f4常用外设的使用和f1两轮平衡小车的pid调节

代码文件:

链接:https://pan.baidu.com/s/17yKo4c2FzqKtiXnXRQfy8g?pwd=hjv7 
提取码: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之后被清除掉

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

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值