STM32CubeMX软件下载|STM32 CubeMX安装包 官方版V5.3.0下载
STM32 CubeMX是一款电脑串口开发配置软件,该工具是ST公司推出让用户通过图形界面进行配置的强大开发软件,知识兔使用简单调试便捷,能让你事半功倍。
软件介绍
STM32CubeMX官方版是一款页面简洁大方,适用范围广泛,功能丰富强大,操作逻辑简单易上手的专业芯片配置工具,STM32CubeMX官方版通过亲和的图形界面生成初始化代码,知识兔可以大大减轻开发工作,时间和费用,几乎覆盖了STM32全系列芯片!
软件特色
1.直观的选择 STM32 微控制器。
2.微控制器图形化配置:
l 自动处理引脚冲突
l 动态设置确定的时钟树
l 可以动态确定参数设置的外围和中间件模式和初始化
l 功耗预测
3.C代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR、KEIL、GCC。
4.可独立使用或作为 Eclipse 插件使用。
软件功能
轻松选择微控制器,涵盖了整个STM32产品组合。
从STMicroelectronics板列表中选择板。
简单的微控制器配置(引脚,时钟树,外设,中间件)以及相应的初始化C代码的生成。
通过将先前保存的配置导入到新的MCU项目中,知识兔可以轻松切换到同一系列的另一个微控制器。
生成配置报告。
生成IDE就绪项目,知识兔以供选择集成开发环境工具链。STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。
用户定义的应用程序序列的功耗计算。
自我更新允许用户保持STM32CubeMX为最新。
下载和更新用户应用程序开发所需的STM32Cube嵌入式软件(有关STM32Cube嵌入式软件产品的详细信息,请参阅附录E:STM32Cube嵌入式软件包)。
软件优势
它包括了ST产品的每个系列除了STM8,平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等).
直观的STM32微控制器的选择和时钟树配置
微控制器图形化配置外围设备和中间件的功能模式和初始化参数
C代码生成项目覆盖STM32微控制器的初始化符合IAR?,Keil的?和GCC编译器。
对于产品设计,它无疑方便了产品的统一管理成为可能,而不再是一团乱的团队开发情况.节省了大量管理时间。
注意事项
软件需要java环境:JRE下载
教程说明
1.新建工程
打开STM32cubeMX软件,知识兔点击New Project。选择对应开板MCU(STM32F429IG LQFP)。
选择工程后进入工程界面,如下图所示
2. 配置外设。
RCC设置,知识兔选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
GPIO口功能选择,PB0,PB1为LED1-LED2.找到对应管脚设置为GPIO_Output模式。就会从灰色状态变为激活的绿色状态(黄色引脚为该功能的GPIO已被用作其他功能,知识兔可以忽略。绿色表示管脚已使用)
3. 时钟配置
时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32F429最高时钟为180M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。
4.功能外设配置
相比于旧版,新版的功能设置界面比较隐藏. 名字:System view 在右上方(熟悉的功能界面又显示出来了)就是长了点
在配置框我们可以看到有几个区域,分别对应的功能设置如下
Multimedia(多媒体):音频视频、LCD
Timers(控制):定时器
Analog(模拟):DAC、ADC
Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
SYStem Core(系统核心):DMA(直接存储器存取)、GPIO、NVIC、RCC
middlewares(中间件): FreeRTOS、FATFS、LwIP、USB
Security:安全
Computing:计算
此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。
GPIO Pin Level (管脚状态):高电平
GPIO mode (管脚模式 ):推挽输出
Maximum output speed (最大输出速度):高速
User Label (用户标签):Opt_Led0
更改用户标签,管脚配置图会显示管脚的标签。
4. 功耗计算
这个根据配置的外设计算功耗,不用理会。
5. 生成工程报告
输入工程名,知识兔选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。
在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of ‘.c/.h‘ files per IP。外设初始化为独立的C文件和头文件。
知识兔点击Project –>Generate Reports或者知识兔点击快捷图标生成报告。系统会提示先创建一个工程项目。知识兔点击Yes设置工程。
生成完以后,OpenProject 然后知识兔进入Option,知识兔选择Debugger分支,下载器选择ST-LINK,同时修改里面的选项每次下载后自动重启。保存关闭工程再打开即可开始你的开发之路。
程序不可调怎么办
用STM32CubeMX生成一个程序,用SW调试两步就死机,知识兔设置断点一步步调试发现程序进到 HAL_MspInit(),就会出现卡死, 最后查出是初始化中禁止了SW,这可能是STM32CubeMX中没有配置SW的原因吧。
解决办法:
把HAL_Init()——>HAL_MspInit()中 __HAL_AFIO_REMAP_SWJ_DISABLE()函数注释掉,就OK了。
串口中断接收怎么办
当需要使用中断接收时需要调用
HAL_UART_Receive_IT()—配置接收的缓冲区指针,数量,huart->RxState = HAL_UART_STATE_BUSY_RX;,最后使能相应中断
3、当中断发生时,执行
HAL_UART_IRQHandler()–判断中断的类型,在此处我用到的是非空中断,那么会继续调用UART_Receive_IT(huart);
这个函数会首先判断串口的接收状态huart->RxState == HAL_UART_STATE_BUSY_RX,若果为真就进行数据的保存,进 如 果达到规定的传输数量就会关闭中断,改变huart->RxState = HAL_UART_STATE_READY;然后知识兔执行HAL_UART_RxCpltCallback();如果知识兔不为真,就清除接收中断标志。
下载仅供下载体验和测试学习,不得商用和正当使用。