STM32L4系列开发记录(1)——使用STM32CubeMX建立工程

目录

    • 1.三种开发方式
    • 2.安装STM32CubeMX
    • 3.使用STM32CubeMX建立工程

1.三种开发方式

三种开发方式为直接配置寄存器、标准库、HAL库。

  1. 直接配置寄存器 :51单片机是直接配置寄存器,但stm32的寄存器数量是51的数十倍,且都是32位的,直接配置寄存器十分复杂,但是好处是更直接,更了解原理。
  2. 标准库 :ST公司针对STM32提供的函数接口,即API(Application Program Interface),开发者可调用这些函数接口来配置STM32的寄存器,开发快速,易于阅读、维护成本低。
  3. HAL库 :HAL库是ST公司目前主力推的开发方式,全称为Hardware Abstraction Layer(抽象印象层)。HAL库比标准库更加集成,如果说标准库把实现功能需要配置的寄存器集成了,那么HAL库的一些函数甚至可以做到某些特定功能的集成。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。并且HAL库的程序移植成本更低,重点转向于数据收发、功能实现等,十分方便。

2.安装STM32CubeMX

STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第1张图片
STM32CubeMX 是一个图形化的工具,是配置和初始化 C 代码生成器,也就是通过这个工具进行简单的配置就可以生成我们需要的初始代码。由于这些代码是经过层层封装的,所以开发者不用关注底层的寄存器等,可以大大缩短开发周期。

STM32CubeMX集成了一个全面的软件平台,支持STM32每一个系列的MCU开发。这个平台包括 STM32Cube HAL(一个 STM32 的抽象层集成软件,确保STM32 系列最大的移植性),再加上兼容的一套中间件(RTOS、USB、TCP/IP 和图形)。所有内嵌软件组件附带了全套例程。

  1. 安装JRE :TM32CubeMX软件是基于java环境运行的,所以需要安装JRE才能使用。
  2. 安装STM32CubeMX :安装过程中基本上一路“Next”下去就可以了。
  3. 安装固件库包STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第2张图片STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第3张图片
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第4张图片
    安装完成之后就可以使用了!

3.使用STM32CubeMX建立工程

  1. 点击“New Project”—> 输入MCU型号—> 根据封装和FLASH选择一款MCU—> 双击进入工程配置。(在该界面可以获取MCU特性、芯片手册等)
  2. 在“Pinout”界面配置自己需要的相应资源,例如RCC、USART1以及一些引脚设置(点击相应引脚即可进行设置)。
  3. 在 “Clock Configuration”界面进行时钟配置,如果Pinout时配置了RCC使外部晶振使能,则是蓝色的,否则是灰色的,只能使用内部时钟。
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第5张图片
  4. 在“Configuration”界面进行资源功能配置,
    GPIO设置:点击PC13引脚,配置初始化参数:推挽输出、默认输出低电平、无上拉无下拉。(LED实验)
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第6张图片
    PC0~PC3设置为中断模式且下降沿检测、输入上拉;(按键输入控制实验)
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第7张图片
    NVIC设置:首先配置中断优先级,设置成0位抢占优先级4位响应优先级,然后在下面的中断线0~中断线3勾选使能,最下面的优先级设置成一样的,这里都设置为0,点击确定。(按键输入控制实验)
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第8张图片
    USART设置:设置波特率为9600,数据位长选择8位数据位,奇偶校验位设置为无校验,设置一位停止位。 (串口printf打印实验)
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第9张图片
  5. 点击工具栏的“螺丝形状”图标
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第10张图片
    STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第11张图片
    点击“OK”之后就生成了工程代码。

STM32L4系列开发记录(1)——使用STM32CubeMX建立工程_第12张图片
|——Drivers
|——CMSIS(这个是ARM定义的微控制器外设标准,这个文件夹下面包含内核、DSP、RTOS等文件,同时下面也有USB、SDIO等外设文件)
|——STM32L4xx_HAL_Driver(STM32L4xx硬件抽象层的外设驱动)
|——Inc (include文件夹下面一般放置头文件,一般是h文件)
|——MDK-ARM(MDK工程文件夹,里面包含一些配置文件等)
|——Src (source文件夹下面一般放置源文件,一般是C文件)
.mxproject
LED-Blink.ioc (可以双击使用STM32CubeMX打开,方便以后再配置)

你可能感兴趣的:(STM32L4)