当前位置: 首页 > news >正文

STM32之CubeMX新建工程操作(十八)

STM32F407 系列文章 - STM32CubeMX(十八)


目录

前言

一、STM32CubeMX

二、新建工程

​编辑

1.创建工程

2.选择芯片型号

3.Pinout引脚分配

1.SYS配置

2.RCC配置

3.定时器配置

4.GPIO引脚配置

5.中断配置

6.通讯接口配置

7.插件Middleware配置

4.Clock时钟树配置

5.工程管理ProjectManage

1.项目工程配置

2.代码生成配置

3.代码生成配置

三、生成工程

总结


前言

STM32CubeMX源自意法半导体,旨在通过减少开发工作量、时间和成本,从而最大限度地复用软件并缩短创建目标系统的时间,让开发人员的生活更轻松。通过STM32CubeMX图形软件配置工具生成单片机工程代码,本文主要介绍如何在CubeMX上新建一个项目工程。


一、STM32CubeMX

关于STM32CubeMX软件的介绍,包括其功能特性、下载安装流程、软件配置操作、以及相关出现的问题请参考上一篇博文STM32CubeMX图形化工具开发介绍 - CSDN博客,里面有详细的介绍,这里在不作说明介绍。

二、新建工程

在window桌面打开STM32CubeMX软件,如下所示。

1.创建工程

打开软件后,显示如下,在New Project处,点击Start My from MCU开始选择一款处理器芯片建立一个工程。

出现如下提示,等待下载完即可。

2.选择芯片型号

在上面new Project界面上,输入所用到的处理器芯片型号进行搜索,双击搜索结果中的目标芯片型号,在下方MCUs List: Item 处,即可进入配置。

处理器芯片配置界面如下。

3.Pinout引脚分配

在上图处理器芯片配置界面上,选择Pinout & configuration进行配置,Pinout配置主要包括System Core系统核配置、Analog模拟量配置、Timer定时器配置、Connectivity通讯接口配置、Multimedia多媒体配置、Middleware第三方插件配置等等,不一一举例,如下所示。

1.SYS配置

在System Core上,点击SYS配置,在Debug调试选项上,选择JTAG 5 pin5模式,然后定时器基准源选择系统定时器,具体设置如下所示。

2.RCC配置

在System Core上,点击RCC配置,在HSE外部高速时钟源上选择Crystal/Ceramic Resonator外部晶振模式,具体设置如下所示。

3.定时器配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

4.GPIO引脚配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

5.中断配置

根据自己的需求,可配置可不配置,不配置系统会默认,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

6.通讯接口配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。这里提供的是前面的一篇博文网络通讯之STM32CubeMX实现LWIP项目设计-CSDN博客的设置方法,可进行参考。

7.插件Middleware配置

在Middleware选项区,cubeMX提供了一些第三方插件,如FATFS文件系统、freertos实时操作系统、lwip等等,用户可以根据自己的需求,是否使用的到,如有需要, 可参考如下前面的一篇博文网络通讯之STM32CubeMX实现LWIP项目设计-CSDN博客的设置方法。关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

4.Clock时钟树配置

根据F407芯片手册,处理器最大时钟为168MHz,根据需求我们选择外部晶振时钟为8MHz,然后在cubeMX界面上完成工程时钟书树的配置,结果如下,我们配置外部时钟为8MHz,分频系数为8,倍频系数为320,处理器的时钟为160MHz(不超过168MHz),APB1分频系数为4,APB2分频系数为2,得出APB1为40MHz,APB2为80MHz,具体设置如下所示。

注意在配置外部晶振时,要先Pinout引脚分配界面上,完成RCC配置,并在HSE外部高速时钟源上选择Crystal/Ceramic Resonator外部晶振模式。

5.工程管理ProjectManage

进入工程管理页面Project Manage,如下所示。

1.项目工程配置

在工程管理Project Manage页面,选择Project选项,在里面填写工程名称、存放目录、开发环境、堆栈大小、固件包等等信息,具体设置如下所示。

2.代码生成配置

在工程管理Project Manage页面,选择Code Generator选项,完成生成工程代码的一些功能配置,具体设置如下所示。

3.代码生成配置

在工程管理Project Manage页面,选择Advanced Settings选项,可以查看之前的设置生成的HAL驱动文件、以及使用到时钟、GPIO引脚、通讯接口或外设功能初始化函数,具体设置如下所示。

至此,已完成新建工程所需全部配置。

三、生成工程

处理器芯片配置界面,选择GENERATE CODE用来生成工程代码,如下所示。

点击生成工程代码按钮后,会弹出如下选项,根据自己的习惯选择即可。


总结

大家需要注意,STM32CubeMX生成的main.c文件中,有很多地方有“/* USER CODE BEGIN X */”和“/* USER CODE END X */”格式的注释,我们在这些注释的BEGIN和END之间编写代码,那么重新生成工程之后,这些代码会保留而不会被覆盖。

下面提供的代码,基于STM32F407ZGT芯片编写,可直接在原子开发板上运行,也可运行在各工程项目上,但需要注意各接口以及相应的引脚应和原子开发板上保持一致。相应的代码链接:单片机STM32F407-Case程序代码例程-CSDN文库

http://www.lryc.cn/news/524769.html

相关文章:

  • Postgresql源码(140)理解PG的编译流程(make、Makefile、Makefile.global.in)
  • logback日志自定义占位符
  • Vue平台开发三——项目管理页面
  • 用于牙科的多任务视频增强
  • 【Node.js]
  • 【Elasticsearch】腾讯云安装Elasticsearch
  • 【网络协议】ACL(访问控制列表)第一部分
  • 2025.1.20——一、[RCTF2015]EasySQL1 二次注入|报错注入|代码审计
  • Spring Boot 整合 Knife4j:打造更优雅的 API 文档
  • Kafka 源码分析(一) 日志段
  • javaEE初阶————多线程初阶(2)
  • Redis学习笔记1【数据类型和常用命令】
  • JavaWeb项目——查询角色列表到页面中——转发模式
  • feign调用跳过HTTPS的SSL证书校验配置详解
  • 今天也是记录小程序进展的一天(破晓时8)
  • SQL-leetcode—1084. 销售分析 III
  • Linux C\C++编程-文件位置指针与读写文件数据块
  • Flask简介与安装以及实现一个糕点店的简单流程
  • 【自动化测试】—— Appium使用保姆教程
  • 西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】
  • IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载
  • Python----Python高级(正则表达式:语法规则,re库)
  • 通过Ukey或者OTP动态口令实现windows安全登录
  • Node.js接收文件分片数据并进行合并处理
  • Lsky-Pro在线图片搭建教程(Docker部署方式)
  • “深入浅出”系列之算法篇:(2)openCV、openMV、openGL
  • AI 新动态:技术突破与应用拓展
  • 从CRUD到高级功能:EF Core在.NET Core中全面应用(三)
  • 【记录】Jenkins版本及JDK关系介绍的官网地址
  • vue3-json-viewer和vue-json-pretty插件使用,vue3 json数据美化展示