STM32CubeMX编辑规范(02)

STM32CubeMX编辑规范


目录

  • STM32CubeMX编辑规范
  • 前言
  • 一、代码编写范围
  • 二、项目结构
  • 三、单独外设配置
  • 四、代码生成设置
    • 五、高级设置


前言

采用STM32CubeMX的编辑规范可以更好的在不同的芯片上移植,修改外设可以没有影响

一、代码编写范围

所有需要写的代码都需要写在注释的BGEGIN和END之间,这样更换外设修改或者移植的时候不会覆盖自己写的代码
STM32CubeMX编辑规范(02)_第1张图片

二、项目结构

一般外设的驱动函数都在Drivers/STM32F1xx_HAL_Driver中打开相应的.h文件中可以查看可以调用的函数和宏定义。
要写自己的C语言文件添加在Application/User/Core

STM32CubeMX编辑规范(02)_第2张图片

三、单独外设配置

初始化代码生成在对应的外设文件。 如GPIO初始化代码生成在gpio.c中。否则所有外设都将在main.c
勾选 Generate peripheral initialization as a pair of’.c/.h’ files per peripheral 为每个外设生成独立的’.c/.h’文件
STM32CubeMX编辑规范(02)_第3张图片STM32CubeMX编辑规范(02)_第4张图片

四、代码生成设置

固件包选择
Copy all used libraries into the project folder 将所有使用过的库复制到项目文件夹中。
Copy only the necessary library files 只复制必要的库文件。这个相比上一个减少了很多文件。比如你没有使用CAN、SPI…等外设,就不会拷贝相关库文件到你工程下。
Add necessary library files as reference in the toolchain project configuration file 在工具链项目配置文件中添加必要的库文件作为参考

生成文件:
Generate peripheral initialization as a pair of'.c/.h' files per peripheral 每个外设生成独立的’.c/.h’文件
Backup previously generated files when re-generating 在重新生成时备份以前生成的文件
重新生成代码时,会在相关目录中生成一个Backup文件夹,将之前源文件拷贝到其中。
Keep User Code when re-generating 在重新生成时保留用户代码比如:我在main.c中添加了一段代码,重新生成时,会在main.c中保留你之前自己添加的这段代码。
注意:前提是这段代码写在规定的位置。也就是BEGIN和END之间。否则同样会删除。
Delete previously generated files when not re-generated 删除以前生成,但现在没有生成的文件
比如:之前生成了spi.c,现在重新配置没有spi.c,则会删除之前的spi.c文件。

HAL设置
Set all free pins as analog (to optimize the power consumption) 将所有空闲引脚设置为模拟(以优化功耗)
这个做低功耗产品时这个选项有必要勾选。
Enable Full Assert 使能所有断言

模板设置
Select a template to generate customized code 选择一个模板来生成自定义代码 (还没用过这功能)

STM32CubeMX编辑规范(02)_第5张图片

五、高级设置

HAL库类似标准库,LL库更接近寄存器操作。有部分芯片没有LL库。

Not Generate Function Call不生成函数调用也就是你代码不调用对应初始化函数。
比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX_GPIO_Init这个函数。
Viility (Static)可见性(静态)这个就是初始化代码声明为static。

提示:
A.有些选项是是默认值,不能修改。如SystemClock_Config配置不声明为ststic.
B.使用static是配合上面Code Generator代码生成章节中Generated files生成文件使用。如果都生成.c .h独立文件了,就不会生成static了。

外设回调起用设置开启在Register CallBack

STM32CubeMX编辑规范(02)_第6张图片


小记:

STM32CubeMX文章目录

你可能感兴趣的:(STM32CubeMX学习笔记,stm32,Stm32CubeMX)