STM32Cube基础工程配置

Posted niu-li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32Cube基础工程配置相关的知识,希望对你有一定的参考价值。

开发板:正点原子STM32F4探索者

内容:使用STM32Cube配置LED0和UART1,实现LED0闪烁和UART1发送

技术图片

  STM32CubeMX选择芯片后界面。左侧栏为功能列表,配置相应的功能打开列表,会有详细功能名称;右侧为ST芯片模型,引脚分布。首先,应该配置芯片的时钟来源——芯片的时钟很重要,根据硬件实际配置时钟来源:打开 System Core 栏目下的RCC,即为芯片时钟配置。

技术图片

  RCC 配置界面。以外部时钟为例,STM32CubeMX中外部时钟配置可选类型为 Disable 、 BYPASS Clock Source(旁路时钟源) 、Crystal/Ceramic Resonator(石英/陶瓷 晶振) 三种类型。参考手册中介绍 HSE 如下图:

技术图片

  外部时钟源即为旁路时钟源,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引脚悬空;谐振器即相当于石英/陶瓷 晶振,OSC_IN 与 OSC_OUT引脚都要连接。开发板使用的是晶振,所以RCC的HSE选项设置为Crystal/Ceramic Resonator。时钟的来源确定后需要配置芯片内部的多个时钟线,进入Clock Configuration页面,可以根据时钟树直观地配置时钟。下图所示为开发板时钟配置,开启外部时钟8MHz,PLL时钟来源于HSE,经过锁相环的分频与倍频后得到168MHz时钟,System Clock Mux时钟来源选择PLLCLK,AHB分频器设置1分频(不分频),得到168MHz的主频时钟,HCLK = 168MHz。

技术图片

  时钟配置完成以后,可以在 Connectivity 栏开启UART功能,USART1可以开启的模式有Asynchronous——异步通讯、synchronous——同步通讯、Single Wire(Half-Duplex)——单线(半双工)通讯,此处配置为异步通讯。

技术图片 技术图片

  此外,这些功能也可以通过右侧的ST芯片模型直接在管脚设置。这种设置方法只需要我们点击对应的管脚,就会列出该管脚对应的功能,点击选择即可。如果我们需要启用仿真,还要自己配置相应的引脚。如果未配置仿真功能引脚,使用仿真器会发生错误。

技术图片技术图片

  功能配置完成无误后,就可以生成代码了。点击进入Project Manager界面,点击Project,在 Project Setting 框里设置Project Name、Project Location,Toolchain/IDE选项为设置生成工程的IDE类型,常用的是MDK-ARM V5(KEIL)和 EWARM V7(IAR)两种。设置完成后点击GENERATE CODE 即可生成工程代码。

注意:工程中尤其注意时钟这一块,使用别人的工程要注意 SystemClock_Config(void) 函数对时钟的配置是否与自己的硬件符合,stm32fxxx_hal_conf.h文件里是否开启所需要功能的宏定义module,HSE_VALUE 、HSI_VALUE的定义值是否与自己硬件时钟大小一致!!!

/***************************************未完待续******************************************/

以上是关于STM32Cube基础工程配置的主要内容,如果未能解决你的问题,请参考以下文章

Stm32 CubeMx安装和配置Cube.ai教程

STM32Cube_FW_F4_V1.16.0固件库文件配置

STM32Cube STM32L053配置RTC时钟详解

通过STM32Cube配置STM32G0系列ADC DMA多通道连续采样时存在的问题

STM32Cube_03使用GPIO点亮一个LED

如何利用stm32cubeide的原有工程改写代码