STM32CUBE新建工程HAL篇1

Posted:   2020-08-12

Status:   Completed

Tags :   STM32 CUBE HAL LL

Categories :   STM32 CUBE HAL LL

Previous:   STM32标准外设库资源总结SPL篇17

Next:   STM32硬件层HAL库GPIO输出HAL篇2


参考文档

下载并安装STM32CubeMX

新建工程

选择芯片

  • Part Number输入STM32F103RC
  • 选择RCTx系列
  • Start Project

管脚和外设配置Pinout & Configuration

调试端口配置

  • 选择System Core->SYS
  • Debug配置为Serial Wire,即SW-DP模式

DEBUG

RCC设置

  • System Core->RCC设置
  • High Speed Clock(HSE)选择晶振(Crystal/Ceramic Resonator)

GPIO设置

  • Pinout View选择开发板上LED灯对应管脚PC2,PC3
  • 设置为GPIO_Output
  • System Core->GPIO配置
  • 上电初始化输出GPIO output level选项:Low——低电平 High——高电平
  • 模式GPIO mode选项:Output Push PUll——推挽输出 Output Open Drain——开漏输出
  • 上拉或下拉电阻GPIO Pull-up/Pull-down选项:No pull-up and no pull-down——无上拉下拉 Pull-up——上拉 Pull-down——下拉
  • 输出速度Maximum output speed选项:Low——低速 Medium——中速 High——高速
  • 标号User Label:自己定义管脚名字
  • PC2,PC3选择GPIO output level->Low,GPIO mode->Output Push PUll,GPIO Pull-up/Pull-down->No pull-up and no pull-down,Maximum output speed->High
  • PC2标号设置LED1,PC3标号设置LED2

时钟配置Clock Configuration

  • PLL时钟选择HSE即外部晶振
  • PLL倍频器PLLMul选择9倍频
  • SYSCLK时钟选择PLLCLK时钟
  • APB1 分频器分频因子APB1 Prescaler选择/2

clock

工程管理Project Manager

工程配置Project

  • 工程名字Project Name,自己根据实际情况定义
  • 工程位置Project Location,自己根据实际情况选择
  • 工程框架Application Structure,选择高级Advance,
  • Do not generate the main()不要选择
  • 开发工具选择Toolchain/IDE,选择MDK-ARM,最低版本选择V5

project

代码生成配置Code Generator

  • 选择每个外设生成单独的.c/.h文件Generate peripheral initialization as a pair of '.c/.h' files per peripheral

一些必要提醒

  • 自己的代码如果想在CUBEMX修改或添加功能时不被修改
  • Keep User Code when re-generating选择上
  • 自己的代码写在USER CODE BEGINUSER CODE END中间

code

高级设置Advanced Settings

  • 选择每个外设的库,使用HAL库还是LL

advance

程序查看

生成代码

  • 点击GENERATE CODE自动生成代码
  • 等待生成完成

生成文件分析

  • 打开刚才设置的工程位置
  • 文件里.ioc .mxproject为CUBE工程文件
  • 文件夹MDK-ARM里是MDK工程文件和启动文件
  • 文件夹Drivers里是使用到的库文件
  • 文件夹Core为工程源文件和头文件存放位置,我们自己的代码放在这里边