STM32从零开始 - 第一章:开发环境STM32Cube套件

article/2025/10/25 16:03:12

概述

STM32的开发环境并不唯一。

如果你习惯KEIL开发环境,可以用KEIL环境来开发,虽然代码编辑不太方便,但调试跟踪非常方便。

如果你更熟悉gcc/makefile,则可以自己写makefile来搭建自己的脚本编译环境。

代码编辑器个人还是推荐SourceInsight或者VSCode效率更高。

 

STM32Cube套装

我们要使用的不是上面两个,而是用ST官方维护和推荐的开发工具包:STM32Cube

这套工具包含了:

  • STM32CubeMX 这个工具用来根据项目配置产生初始BSP
  • STM32CubeIDE 这个工具可以依据STM32CubeMX产生的配置文件生成IDE项目
  • STM32CubeProgrammer 这个工具可以用来通过串口/SPI/USB等下载程序到MCU中
  • 其他 第三方软件包等

统一协调,最重要的是:免费

 

使用STM32CubeMX创建配置实例

下面我们依据目前的主板硬件设计,用STM32CubeMX来产生一个初始的BSP。

 

创建项目

安装STM32CubeMX后即可运行它。

选择New Project中的Start My project from MCU即可开始:

如果你是用的ST官方提供的开发板则可以选择Start My project from ST Board.

然后这个程序可能会联网下载一些内容:

等待完成即可,如果以前下载过了,可以直接Cancel跳过。

选择MCU或主板型号

选择对应的MCU,此处根据我们的主板,选择STM32F103C8:

然后依据主板的设置,我们将Perpheral中的SPI数量设置为1,Timer数量设置为2,USART数量设置为1,然后点击右侧的Start Project按钮:

配置引脚及系统选项

然后会进入到引脚配置界面了:

我们的主板有外部的8MHz晶振及32K的晶振,所以在System Core类里面的RCC中需要配置时钟为HSE和LSE为外部晶振:

我们有JLINK调试器,所以需要在 SYS里面将DEBUG支持开起来,默认是不开的使用调试器会报错,当然,如果不用调试器,可以不开:

SPI2我们准备接SPI接口的LCD屏,所以配置成单发送的模式:

USART1我们需要用来输出日志,配置成不带流控的普通异步串口即可:

配置时钟

在系统配置及引脚配置完成后,需要配置系统时钟。

在Clock Configuration页面即可完成。

蓝色的部分是可以修改的配置项,不同的MCU型号可能有些差别,在一些关键参数上,有最大值的提示,如上图中HCLK最大值就是72MHz,PCLK1最大是36MHz.

如果不是有特别省电之类的特殊要求,最好能将各个时钟配置到其最高频率以充分发挥MCU的性能。

经过配置后我们的时钟配置如下:

可以看到,System Clock的时钟源我们选择了PLLCLK,PLLCLK是通过外部8MHz晶振9倍频后得到的72MHz,所以SYSCLK是72MHz,PCLK1是36MHz,PCLK2是72MHz。

由于在系统配置里没有打开USB和RTC,所以RTC及USB相关的时钟配置是呈现灰色的。

项目配置

完成时钟配置后,进入Project Manager页面进行项目配置。

在Project中设置好项目名以及项目的保存路径。

在Code Generator中,ToolChain/IDE选项选择STM32CubeIDE,如果你使用自己的编译环境请选择其他。

产生项目基础BSP代码

项目配置完成后,点击右上角的GENERATE CODE按钮即可自动产生出按你要求配置好的初始代码:

产生代码时可能需要在线下载最新的BSP文件,等待完成即可:

产生完成后会弹出提示:

点击Open Folder就能打开项目目录了:

这个项目实际上是由STM32CubeMX产生出来的STM32CubeIDE项目,以及可以直接由STM32CubeIDE打开了。

其中:ioc文件是STM32CubeMX使用的项目文件,cproject和.project则是STM32CubeIDE的项目文件。

 

 


http://chatgpt.dhexx.cn/article/TZusJnca.shtml

相关文章

STM32系列 (一)开发环境的搭建

STM32简介 STM32是意法半导体(ST)推出一款32位的单片机。STM32具有超低的价格、超多的外设、丰富的型号、优异的实时性、极低的开发成本等优势。STM32凭借其产品线的多样化、极高的性价比、简单易用的库开发方式,迅速在众多32位单片机中脱颖而…

STM32几种流行开发环境的优缺点

有很多初学者在问:学习STM32,该用哪款开发工具? 我首先说一下我的观点: 1.没有最好,只有适不适合,适合自己的才是最好的。 2.开发工具很多,各有各的特点,有优点肯定也有缺点。 今…

STM32入门指南(0)—配置开发环境

STM32入门指南(0)—配置开发环境 文章目录 STM32入门指南(0)—配置开发环境开发环境介绍STM32CubeMX下载安装安装Java安装STM32CubeMX安装软件开发包 Keil uVision5下载安装解锁更多内容 开发环境介绍 这一系列的教程使用的都是 …

用html和CSS做个人简历

很多刚学web的同学第一个项目应该都是做一个个人简历,这个是查了多方资料的刚刚写出来的一个简历,所以可能会参考网上的一些代码,兄弟们拿去复制就可以。里面有的注释可能不太对劲,不要太在意,毕竟我也是一个刚学一周的…

简历模板推荐

简历模板推荐 话不多说,直接上干货。 今天给大家推荐几个还不错的简历模板网站。 木及简历(推荐👍) : 免费MarkDown在线简历-专业简历制作工具-木及简历 。 知页简历:名企精英都在用的专业简历 typorama…

HTML5,CSS制作个人简历

先建立index页面 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>个人简历制作</title> …

HTML5+CSS——个人在线简历

期末作品用DW软件结合HTML和css来制作一个在线简历&#xff0c;成果图如下&#xff1a; HTML代码如下&#xff1a;主要使用表格来实现页面布局&#xff0c;页面中使用了文本溢出隐藏效果、点击相应的链接可以跳转到另一个网页等。 <!DOCTYPE html> <html> <hea…

HTML5个人简历模板制作

个人简历模板 几个主要属性值 rowspan 跨行数 width 宽度 cellpadding 内容与单元格之间的距离 cellspacing 单元格与单元格之间的距离 align 表格在文档中的对齐方式&#xff08;left center right&#xff09; 实现代码如下 在这里插入代码片 <!DOCTYPE html> <…

html+css的响应式个人简历

响应式个人简历 文章目录 响应式个人简历目录一、运行截图二、html代码三、CSS代码四、总结 目录 包括主页、关于我、个人技能、联系我四个页面&#xff0c;整个页面可以根据窗口大小调整。 一、运行截图 二、html代码 代码如下&#xff1a; <!DOCTYPE html> <html l…

个人简历需要写什么内容?简历模板的基本内容有哪些

很多人认为&#xff0c;个人简历应该做成形式多样颜色丰富设计十足的&#xff0c;而实际上HR对你感兴趣的并不是你的简历样式&#xff0c;而是你的简历内容。个人简历模板内容要怎么写呢&#xff1f;一份标准的简历表格基本内容有哪些呢&#xff1f;下面脚步网就来给大家介绍一…

CSS+html制作简历表

CSS格式 CSS样式的语法&#xff1a; css选择器{ 样式属性1:属性值&#xff1b; 样式属性2:属性值;. …} css选择器&#xff1a; 用于定位需要施加某些样式的某个或某一些标签&#xff0c;有ID选择器&#xff0c;class选择器&#xff0c;标签选择器等常用选择器可供选择使用。 …

用HTML和CSS编辑的简历模板

1. 工具&#xff1a; sublime或者EditPlus、任意浏览器 2. 代码文件 点击提取 密码: 5ee7 3. 效果

怎样用HTML做一份精美的简历(html5+css)

先来看一下效果图&#xff1a; 代码&#xff1a;index.html <!DOCTYPE html> <html> <head><title>简历二</title><meta charset"utf-8"><link rel"stylesheet" type"text/css" href"../css/mysty…

HTML+CSS实例:简单朴素的个人简历模板(HTML表格使用+css样式渲染)

个人简历模板 丑是丑了点&#xff0c;没有那么花里胡哨。。。 先看展示 代码实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"&g…

html+css个人简历/网页界面

代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>个人简历</title><link rel"stylesheet" href"css/li.css" /></head><body><div class"q&q…

2022最新简历模板

一份好的简历&#xff0c;要的不是花里胡哨&#xff0c;要的是简洁和内容相结合&#xff0c;这样的简历才是优秀的。 而且在排版设计上要适合HR快速阅读&#xff0c;用词、结构要专业。这样的简历模板&#xff0c;才是你需要的&#xff01; 下面我要分享几个免费高质量简历模…

设计模式--【模板模式】

在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图&#xff1a;定义一个操作中…

模板模式(设计模式)

模板模式 在模板模式(Template Pattern)中&#xff0c;一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 1.介绍 意图&#xff1a;定义一个操作中的算法的骨架…

【JavaSE】Java设计模式详解(二)抽象模板模式

&#x1f481; 个人主页&#xff1a;Nezuko627的博客主页 ❤️ 支持我&#xff1a;&#x1f44d; 点赞 &#x1f337; 收藏 &#x1f918;关注 &#x1f38f; 格言&#xff1a;立志做一个有思想的程序员 &#x1f31f; &#x1f4eb; 作者介绍&#xff1a;本人本科软件工程在读…

设计模式之模板设计模式

设计模式之模板设计模式 代码下载 1.概念 定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。Template Method使得子类可以不改变一 个算法的结构即可重定义该算法的某些特定步骤。 2.类图 代码下载