#STM32CubeMx >C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\help\UM1718.pdf STM32CubeMx 是一个STM32的图形化配置工具,可以作为STMCube 工具独立使用,也可以作为Eclipse的插件。 主要包含以下主要工功能: * 覆盖所有STM32的选型; * 所有ST官方开发板选择; * 快速配置(引脚、时钟、外设、和中间件软件)以及产生相应的C代码; * 通过先前的配置快速切换选型; * 轻松导出到兼容的配置到兼容MCU; * 产生配置报告; * 通过选择IDE生产对应工程代码; * 功耗计算; ##如何产生配置代码 * File->New Project 我们需要知道指定芯片具体型号和封装,例如我们这里的STM32F103RDT6 LQFP64。 ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/NewProjectSettings.png) * Pinout ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/Pinout.png) * Clock Configuration 设置时钟源 ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/ClockSource.png) 1. **设置低速时钟源(LSE LSI)** LSE:The low speed external clock signal LSI:The low speed internal clock signal 从图我们可以看出,低速时钟源主要为RTC和独立看门狗提供时钟系统。其中RTC时钟源可以选择`HSE_RTC` 也就是`HSE`高速外部时钟128分频和来自外部低速时钟`LSE`和内部RC振荡器`LSI RC`。 2. **设置高速时钟源(HSE、HSI)** HSE:The high speed external clock signal HSI:The high speed internal clock signal 其中HSE可以选择外部高速晶振和外部高速时钟,通过我们选择的时钟频率设置这里的`Input frequency` 值,注意如果为灰色,表示当前我们不能设置使能改时钟源。我们需要在Pinout Tab 标签->Configuration->Peripherals->RCC->HSE 使能改时钟。 3. **选择时钟源输出到指定IO(MCO)** 这里选择我们指定时钟系统到IO口,方便确定当前配置是否生效。 4. **选择系统时钟(SYSCLK)** 选择当前系统时钟。系统时钟只能`HSI` 高速内部时钟、`HSE`高速外部时钟以及`PLLCLK`倍频时钟系统。 5. **选择外设时钟** 所有的外设时钟式通过`SYSCLK`系统时钟通过`AHB Prescaler`预分频后外设时钟系统。 * Configuration 配置选择的`Middlewares`、`Peripherals`等具体参数。 ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/Configuration.png) * Project Settings 选择设置输出的代码工程路径、IDE等属性。 ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/ProjectSetting.png) * Project->Generate Code 产生工程代码。 ![](http://www.leconiot.com/md_res/jaysnote/stm32cubemx/images/GenerateCode.png) 可能需要提示提示下载Firmware Packages。