STM32-keil+CubeMX快速开发:新建项目

摘要

本文介绍了新建项目的快速操作流程与要点。

软件安装及其他教程 点击打开查看专栏【STM32Cube开发方式】

目录

CubeMX配置

配置流程

简记

图文详述

新建项目

选择芯片

配置RCC、SYS

配置时钟

配置外设

代码生成器配置

项目命名、项目路径、IDE选择

生成代码

CubeMX配置

配置流程

简记

新建项目→选择芯片→配置RCC、SYS→配置时钟→配置外设→代码生成器配置→项目命名、项目路径、IDE选择→生成代码

图文详述

新建项目

  • 新建项目:打开"File",点击"New Project";或者快捷键"Ctrl+N"⬇
  • 可以用"Lode Project",导入其他项目,但是需要从新改时钟配置。

选择芯片

在左侧的"MCU/MPU Filters"里面可以筛选目标芯片。

  • 已经确定芯片就可以在下面的搜索框里输入芯片型号进行搜索⬇
  • 没有确定芯片还可以直接进行芯片选型,在下面的框里添加筛选条件;搜索框下面还可以选择各种外设的数量范围进行芯片筛选⬇
  • 常用的芯片可以点击五角星收藏⬇
  • 以后可以点击收藏夹快速选择常用芯片⬇
  • 找到目标芯片后双击列表中对应芯片的名称即可创建MX项目⬇
  • 另外,右侧界面的上半部分可以查看芯片的简介,还可以直接下载芯片手册⬇

配置RCC、SYS

  • 点击"RCC",打开RCC(复位和时钟控制)配置项⬇
  • 点击下拉选项,根据情况配置外部时钟"High Speed Clock (HSE)"和"Low Speed Clock (LSE)"

Disable,禁用外部时钟源。

BYPASSClock Source,使用外部有源时钟信号源。

Crystal/Ceramic Resonator,使用外部晶体振荡器作为时钟源。

  • 点击"SYS"(复位和时钟控制),打开SYS配置项⬇
  • **注意:**开发阶段必须要把Debug选项打开。因为没选择Debug模式的工程编译下载一次后,后续再次下载就会提示错误。如果已经不小心关闭了Debug选项,那么下次下载的时候按住复位键,等到工程提示的时候松开复位键即可,因为STM32的芯片默认复位上电时的Debug引脚功能是开启的。

配置时钟

  • 点击"Clock Configuration",进入时钟配置界面。
  • 在下图的"Input frequency"框中,输入外部时钟的频率
  • 在以下界面配置好时钟树
  • 在"HCLK (MHz)"框中输入希望的主频后,按下回车键,软件会自动修改配置以达到要求。
  • 右侧的蓝色框里都可以执行类似的操作。
  • 还可以右键选择锁定某项的设置,这样软件就不会修改锁定项了。

配置外设

  • 回到"Pinout & Configuration"界面。如下所示,右侧可以选择配置各种外设和中间件,拉开选项后就可以根据需求配置外设和中间件了。

代码生成器配置

  • 进入"Project Manager"界面,选择"Code Generator"配置项,开发阶段一般按照下图配置即可。
  • 项目发布阶段,建议勾选下面的选项,将空闲的引脚配置为模拟模式,可以进一步降低功耗。

项目命名、项目路径、IDE选择

  • 在"Project Manager"界面,选择"Project"配置项
  • 必须用全英文字符给项目和路径命名,否则MX生成的工程可能会出问题。
  • 主要的配置项简介如下:

Application Structure(应用程序结构),有Basic和Advanced两个选项。

Basic:建议用于只使用一个中间件,或者不使用中间件的项目。在这种结构里,

IDE配置文件夹与源代码文件夹同级,用子目录组织代码。

Advanced:当项目里使用多个中间件时,建议使用这种结构,这样对于中间件的管

理容易一点。

Toolchain Folder Location,也就是导出的 IDE项目所在的文件夹,默认与CubeMX项

目文件在同一个文件夹。

Toolchain/IDE,从一个下拉列表框里选择导出C语言程序的工具链或IDE软件。

生成代码

  • 点击右上角的"GENERATE CODE"即可生成工程代码和相关IDE项目。
相关推荐
Tomhex3 小时前
STM32型号命名解析
stm32
gihigo19984 小时前
量程自动切换数字电压表Proteus仿真+程序
单片机·嵌入式硬件·proteus
木燚垚4 小时前
基于STM32的智能衣柜系统设计与实现——温湿度调控+烟雾报警+远程监控
stm32·单片机·嵌入式硬件
才知道的5 小时前
stm32F407学习DAY.27 ADC
stm32·嵌入式硬件·学习
senijusene5 小时前
i.MX6ULL 裸机 ECSPI 驱动开发详解:
arm开发·驱动开发·嵌入式硬件
Tomhex6 小时前
ARMv7与Cortex-M3关系解析
stm32
傻童:CPU6 小时前
stm32程序的启动过程
stm32
JaneHan_8 小时前
STM32CubeMX+HAL+Keil5 PWM呼吸灯
c语言·stm32·单片机
Ww.xh8 小时前
STM32嵌入AI模型全流程指南
stm32