STM32cubemx使用教程

首页

        右边红圈处,检查软件更新

        红圈下面,安装或者更新芯片软件包。(通常工程创建过程中如果发现没有对应的芯片软件包,也会自动下载安装)

创建工程

        从MCU芯片创建一个工程
        从ST的开发板创建一个工程
        从例程创建一个工程

选择芯片

这里可以直接搜索芯片型号

         选择好以后start project就会进入工程的设置界面。

工程引脚配置

        RCC和SYS配置好了,一般芯片也就能够运行了。

外设配置

RCC复位和时钟控制模块

        芯片最重要的是配置时钟。

        最基本的配置是开启一个外部时钟,选择石英振荡器。

        下面的参数都是默认的,不用改。

Systic滴答定时器

        注意这里一定要选择Serial Wire,串行线。

        只有选择了串行线,才能在后续使用ST-Link这种四线的调试接口,对代码进行烧录或者调试。其他选项分别是四线/五线的JTAG。

        JTAG是一种通用的测试协议,而STLink是专为STM32系列微控制器设计的调试和编程工具。

        JTAG通常需要额外的硬件调试器来实现其功能,而STLink可以作为独立的调试器使用,也可以集成在开发板上。

        如果这里选NoDebug的话,会导致芯片只能通过STLINK烧写一次,后面必须通过串口烧录的方式给它重新刷洗一遍,

         然后下面的 Timebase Source 是选择系统时钟源,不使用FreeRtos的情况下使用SysTick就可以了,使用FreeRtos的情况下根据个人选择。(其他几个选项分别是TIM1~5,TIM9、TIM10)

模拟信号

        ADC的 IN0~IN15 代表模数转换器的15个通道。

定时器

连通

         串口、IIC、SPI、USB等等。

定时器

        RTC实时时钟和各种TIM定时器。

多媒体

冗余循环校验

中间件

工程时钟配置

外部晶振和时钟总线

        这里是配置芯片的时钟树。

         从左往右按列看,最外边是输入的时钟信号。

        这里32.768khz是外部低速时钟LSE。刚刚由于没有开启LSE,因此这里是灰色。

        由于我们开启了外部高速时钟HSE,因此这里是蓝色。晶振频率一般不用改。

       12.288mhz通常用于SPI(串行外设接口)和I2S(集成交错式2声道音频串行)等接口。

        这里的这条线,就是时钟总线

信号HSE和LSE

        晶振将信号给到时钟总线,接着给到外部高速时钟外部低速时钟

        外部高速时钟的信号,被锁相环源复用器分频

        然后这里的几个点,可以选择信号的来源。

        包括分频后的外部时钟和内部时钟。

        最后信号是给到 各个子系统和外设。

         一般内部震荡信号存在相对比较大的误差。而且可能受到芯片工作温度的影响。

        因此尽量使用外部石英信号作为时钟源

        像这里如果是F1的话,一般F1的主频最高是72Mhz,因此一般是外部时钟经过锁相环倍频到72MHz,把性能拉满,作为系统时钟源

        我这里用的F4,默认就是150MHz满频率作为系统时钟源。

        这个界面出现红色报错就是有问题,

        看这里的标红处写了,最大频率为多少,改一下让满足就行。 

         这样错误就消除,性能也刚好拉满了。

        有时候SPI或者CAN之类的通信协议可能对时钟频率有特殊的要求,这个时候

GPIO口配置

        比如现在想要做个简单的点灯配置。

        以PC13为例,为什么不用PC14或者PC15呢?

        点击PC14。可以看到该引脚的功能有一个RCC_OSC32_IN,这个是外部低速时钟信号,如果开启了LSE引脚会冲突。PC15也一样。 

PC14
PC15

        现在用GPIO13点灯,把GPIO13配置成输出。

         可以看到下面有选项可以选,

        输出电平指的是默认情况下,GPIO口输出高电平还是低电平。

        GPIO模式指的是

        浮空输入、上拉输入、下拉输入

        推挽输出、开漏输出。

        推挽可以输出高或低电平,常用于驱动外部负载。

        开漏只能输出低电平或高阻态。当输出低电平时,引脚被拉到GND;当输出高阻态时,引脚的电平状态由外部电路决定。通常需要外部上拉电阻来提供高电平。这种模式常用于多设备共享总线的场景,例如I2C通信。

        比如IO需要高电平到5V,但芯片只能提供3.3V,就需要外部上拉电阻来提供高电平。

        GPIO PULL-up和GPIO PULL-down指的是GPIO的上拉或者下拉(输入模式下)。当然也可以在外部通过上拉或者下拉电阻,来让它保持高电平或者低电平。

        最大输出速度,分低中高,点灯没有要求。

        用户标签,便于在编程时直接用名称标签控制IO口。

 

项目管理

        注意目录位置不要有中文。

        至于IDE那里,一般是MDK-ARM(keil5),或者cubeIDE(st官方出的一个IDE)。

        IDE的最小版本根据自己情况选。

 

代码生成

MCU包和嵌入式软件包

        复制全部库文件到工程文件夹。

        只拷贝必要的库文件(用到了什么外设才拷贝什么库到工程中)。通常都是用这个,可以给工程减少一些体积。

        在工具链项目配置文件中添加必要的库文件作为引用。

        对每个外设都单独生成一个.c和.h文件。

翻译:

STM32Cube MCU 包和嵌入式软件包

  • 将所有使用的库复制到项目文件夹中

  • 仅复制必要的库文件

  • 在工具链项目配置文件中添加必要的库文件作为引用

生成的文件

  • 为每个外设生成一对 '.c/.h' 文件以进行外设初始化

  • 重新生成时备份先前生成的文件

  • 重新生成时保留用户代码

  • 未重新生成时删除先前生成的文件

HAL 设置

  • 将所有空闲引脚设置为模拟(以优化功耗)

  • 启用完全断言

FreeRtos

        生成 freertos代码把这个勾上就行,

         记得把systick的时钟源改成定时器

### STM32 CubeMX 使用教程 #### 官方文档获取途径 官方提供了详细的STM32CubeMX使用手册,这份手册涵盖了从软件安装到具体功能使用的各个方面。通过访问STMicroelectronics官方网站的支持页面可以下载该手册[^1]。 #### 视频教程推荐 对于希望获得更直观学习体验的开发者而言,《正点原子》系列中的“手把手教你学STM32 HAL库开发全集”是一个非常好的资源选项。这套视频不仅讲解了STM32的基础概念,还深入探讨了HAL库的应用方法,并且全程采用真人出镜的方式进行教学,非常适合初学者跟随操作练习。 #### 示例项目的创建流程 当利用STM32CubeMX来启动一个新的工程项目时,用户可以选择多种初始化方式。例如,在配置阶段可以根据实际需求挑选合适的外设模块并调整参数;之后可以通过点击“Project->Generate Code”,让工具自动生成初始化代码框架以及必要的驱动程序文件夹结构。值得注意的是,除了支持标准的HAL库之外,也允许选用更为底层控制的LL库来进行硬件编程工作,而且这两种API可以在同一个项目里共存而不互相冲突[^3]。 #### 软件安装指南 关于STM32CubeMX本身的安装过程,有专门针对此环节编写的《STM32CubeMX 安装教程》,它详细描述了整个安装步骤,包括环境准备、版本选择直至最终完成设置后的验证测试等内容。按照这个指引能够帮助新接触这款工具的朋友顺利完成初次部署[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大象荒野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值