这里会显示出您选择的修订版和当前版本之间的差别。
jaysnote:stm32cubemx [2018/11/12 17:35] jaylee 创建 |
jaysnote:stm32cubemx [2021/06/22 23:14] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | |||
- | # STM32CubeMx # | ||
- | |||
- | > | ||
- | |||
- | STM32CubeMx 是一个STM32的图形化配置工具,可以作为STMCube 工具独立使用,也可以作为Eclipse的插件。 | ||
- | 主要包含以下主要工功能: | ||
- | |||
- | * 覆盖所有STM32的选型; | ||
- | * 所有ST官方开发板选择; | ||
- | * 快速配置(引脚、时钟、外设、和中间件软件)以及产生相应的C代码; | ||
- | * 通过先前的配置快速切换选型; | ||
- | * 轻松导出到兼容的配置到兼容MCU; | ||
- | * 产生配置报告; | ||
- | * 通过选择IDE生产对应工程代码; | ||
- | * 功耗计算; | ||
- | |||
- | ## 如何产生配置代码 ## | ||
- | * File-> | ||
- | 我们需要知道指定芯片具体型号和封装,例如我们这里的STM32F103RDT6 LQFP64。 | ||
- | ![](http:// | ||
- | * Pinout | ||
- | ![](http:// | ||
- | * Clock Configuration | ||
- | 设置时钟源 | ||
- | ![](http:// | ||
- | 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 标签-> | ||
- | |||
- | 3. **选择时钟源输出到指定IO(MCO)** | ||
- | 这里选择我们指定时钟系统到IO口,方便确定当前配置是否生效。 | ||
- | |||
- | 4. **选择系统时钟(SYSCLK)** | ||
- | 选择当前系统时钟。系统时钟只能`HSI` 高速内部时钟、`HSE`高速外部时钟以及`PLLCLK`倍频时钟系统。 | ||
- | |||
- | 5. **选择外设时钟** | ||
- | 所有的外设时钟式通过`SYSCLK`系统时钟通过`AHB Prescaler`预分频后外设时钟系统。 | ||
- | |||
- | * Configuration | ||
- | 配置选择的`Middlewares`、`Peripherals`等具体参数。 | ||
- | ![](http:// | ||
- | |||
- | * Project Settings | ||
- | 选择设置输出的代码工程路径、IDE等属性。 | ||
- | ![](http:// | ||
- | |||
- | * Project-> | ||
- | ![](http:// | ||
- | 可能需要提示提示下载Firmware Packages。 | ||
- | |||
- | </ | ||
- | |||
- | |||