1、提示:CubeMX生成的代码,初始化配置是在main函数中、IO资源初始化在stm32_hal_msp.c中
01 STM32CubeMX软件简介 ABOUT STM32CubeMX STM32CubeMX是ST公司推出的一种自动创建单片机工程及初始化代码的工具,适用于旗下所有STM32系列产品。 02 HAL库LL库简介 ABOUT HAL & LL STM32CubeMX集成了HAL库和LL库,生成的代码也是基于这两个库。
介绍 STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。 其中STM32CubeMX和STM32Cubeprogrammer,除了对所有STM32芯片系列,和所有应用的通用支持之外,还有一些对特定应用的支持,比如STM32Cube.AI就是基于STM32CubeMX STM32CubeMX下载安装 下载 公众号发送:STM32CubeMX,获得下载链接 安装 解压压缩包后双击安装程序 STM32CubeMX的安装比较简单,基本一路Next下去就行,该勾选的勾选上即可 MCU之间无缝移植,甚至在其他MCU也能实现快速移植并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX 打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages(如果第一打开有提示界面,选最后一个 NO thank 就可以了)
2014年,ST公司推出STM32CubeMX工具,其图形化配置界面瞬间颠覆了传统嵌入式开发模式: 一键生成初始化代码:时钟树可视化配置,外设参数图形化选择 跨IDE兼容:支持Keil、IAR、Eclipse
STM32CubeMX是ST意法半导体推出的STM32系列芯片图形可视化配置工具,用户可以通过图形化向导为Cortex-M系列MCU生成初始化代码工程模板。 相较于Keil创建工程模板,STM32CubeMX步骤少、上手快,但生成的工程模板比较臃肿,因此本小结只简单介绍下相关创建操作,后面的实验仍使用前面自定义创建工程模板。 从ST官网(https://www.st.com/zh/development-tools/stm32cubemx.html)下载STM32CubeMX,解压、安装、打开。 【总结】 使用STM32CubeMX创建工程,非常的便利。但同时也限制了用户对工程的调整,代码内容、注释也臃肿。 如果用户需要快速搭建工程环境,STM32CubeMX是一个非常不错的选择;如果想深入学习,根据自己的习惯优化,可先熟悉如何自定义创建工程模板,以后根据自己习惯调整。
介绍 STM32CubeMX STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。
Ⅱ、STM32CubeMX主界面描述 打开安装好的STM32CubeMX,看到其主界面如下: 主要看到信息有: 1.菜单栏:打开软件只有4个主菜单,在新建工程后有5个菜单; 2.快捷按钮栏:这些按钮在菜单栏里面都能找到 菜单和快捷按钮在打开软件时和新建工程后的差异如下图: Ⅲ、STM32CubeMX新建工程 为了讲述STM32CubeMX的菜单,这里提前简单讲述一下新建工程,在下一篇文章会综合讲述一下新建工程的详细步骤 Ⅳ、STM32CubeMX菜单描述 STM32CubeMX的菜单在新建工程之后有五个菜单,其中文件File、Window窗口、Help帮助这三个菜单比较容易理解,工程Project和Pinout引脚输出菜单相对初学者来说要理解起来要困难点 的下载 STM32CubeMX及其固件库(支持包)可以到ST官网下载,也可以在我的360云盘下载(我会定期更新)。 STM32CubeMX的下载(含固件支持包) ST官网下载地址: STM32CubeMX及其支持包下载地址(ST官网-英文网页): http://www.st.com/content/st_com/en
STM32CubeMX 真的不要太好用 由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈 先去 stm32 社区逛了逛 ,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺不错的样子 那让我们开始吧, 第一步,直接打开 STM32CubeMX,在主界面选到 ACCESS TO MCU SELECTOR 开始一个工程,这里需要注意的一点是此时 STM32CubeMX 会去联网检查一些更新 定时器来实现的,而由于这里我们选用了 FreeRTOS,它使用的心跳时钟在 Cortex 内核上的移植都是依赖于 SysTick 定时器,这里会有冲突,这一点在点击生成代码按钮时 STM32CubeMX 第一步,下载 FreeRTOS 的 CLI 扩展库,这里 STM32CubeMX 默认是没有提供的,没关系,我们去 FreeRTOS 的官网下载,注意最好下载当前使用 FreeRTOS 版本对应版本的完整包
这部分很重要,如果选择的单片机RAM比较吃紧,那就要精打细算了。 这个问题牵连了不少容易混淆的概念,我在学习的时候也翻了很多帖子,按照自己的理解梳理了一下,有错误请评论区或私信指出。 参考博客:
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 知识概括: 通过本篇博客您将学到: ACD工作原理 STM32CubeMX创建ADC 本质也测量值就是超出测量范围或者低于最低范围,启动看门狗 具体的配置看下图: ADC转换结束中断 ADC的DMA传输 GPIO的模式为模拟模式 同时,如果需要打印到上位机,需要配置下串口,具体请看 STM32】HAL库 STM32CubeMX
STM32CubeMX的便利,在很多方面都给了我们很大的帮助!当然,如果有感兴趣的想继续学的,可以留言,我会试着写一些这方面的文章。 1 新建工程 首先,软件版本我用的是STM32CubeMX的5.3.0,并不是最新版。为什么没用最新的?最新版有个很恶心的bug,好像是打不开工程,记不清了。 打开STM32CUBE,选择一个芯片。 自始至终,STM32CubeMX里,和主函数里没出现鼠标相关的函数(除了我们自定义的一个带鼠标字符的数组),怎么就出来一个鼠标? 为什么不是键盘? 为什么不是优盘?
选择安装 修改安装路径, 点击下一步 然后等待完整完成关闭即可 2、安装STM32CubeMX 下载路径: a、官网:www.st.com/stm32cubemx b、 百度网盘:链接:https: MCU之间无缝移植,甚至在其他MCU也能实现快速移植并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX 在线安装 a、打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages(如果第一打开有提示界面,选最后一个 NO thank 就可以了) b、然后选择你的芯片型号,安装既可以了( 点击“Install Now” ) c、等待完成就可以了 离线安装 安装包: 官网:www.st.com/stm32cubemx 或者:自己百度或者下方留个邮箱我发给你 打开官网,选择“tools-software” 下拉,选择你的芯片型号 点击上图芯片型号,在新开的网页中,下拉获取软件 a、打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 知识概括: 通过本篇博客您将学到: RTC时钟原理 STM32CubeMX创建RTC
STM32CubeMX是意法半导体推出的图形化配置工具,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等。 尤其值得一提的是,TrueStudio已经被ST收购,提供完全免费的版本,并且,通过插件式安装,可以将STM32CubeMX集成在一个IDE,使用十分方便。 如下图: 图1 TrueStudio中的STM32CubeMX 接下来将分步骤介绍使用STM32CubmeMX及MDK、STM32CubmeMX及TrueStudio进行STM32程序设计。 二、项目设置 与很多软件一样,STM32CubeMX也可以进行工程的设置,通过菜单Project->Settings便可进入图8所示工程设置对话框。 图9 代码生成设置 如果后续不需要新增其他外设,建议Copy necessary,如果后续需要新增其他外设又可能不再用STM32CubeMX,建议Copy all,如果不太会复制到其他地方或者大家的库都放在同一个路径
大家好,又见面了,我是你们的朋友全栈君 前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在我们的HAL库中,对硬件SPI函数做了很好的集成 库的优点所在 本文 1首先讲解SPI工作原理及W25QX芯片原理,2基于CubeMx创建工程 3 对HAL库SPI函数进行讲解,4例程详解 所用工具: 1、芯片: STM32F103ZET6 2、STM32CubeMx 软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 5、SPI: 使用硬件SPI1 知识概括: 通过本篇博客您将学到: SPI的基本原理 STM32CubeMX 很简单,这里就不再赘述了,不懂得同学请看: 【STM32】HAL库 STM32CubeMX教程四—UART串口通信详解 3时钟源设置 我的是 外部晶振为8MHz 1选择外部时钟HSE 8MHz
mark 为了确保资源的更新,我没有直接放上链接,可以关注我的微信公众号,回复“STM32CubeMX”获取,敬请谅解~ 寻求更好的阅读体验,请点击阅读原文移步:Mculover666的个人博客 1安装 2获取STM32CubeMX STM32CubeMX可以访问STM32官网( https://www.st.com/en/development-tools/stm32cubemx.html )获取: 3安装STM32CubeMX 解压下载的压缩包,其中包含三个平台的安装包和一个发布说明,这里我们选择Windows平台的安装包: ? 双击运行安装程序,安装过程如下: ? 导入package到STM32CubeMX 打开STM32CubeMX的包管理器(方法同上),点击From Local: ? 选择打开要导入的package: ? 点击打开即可成功导入。 至此,我们已经安装好了STM32CubeMX和STM32L4的MCU Package,下一节中讲述如何使用STM32CubeMX快速生成MDK的工程,点亮一个LED。
打开 STM32CubeMX 软件,点击“新建工程” 2. 选择 MCU 和封装 3. line %d\r\n", file, line) */ /* USER CODE END 6 */ } #endif /* USE_FULL_ASSERT */ 5.4 查看打印 串口打印功能查看 STM32CubeMX ) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } 6.4 查看打印 串口打印功能查看 STM32CubeMX 学习笔记(6)——USART串口使用 七、注意事项 用户代码要加在 USER CODE BEGIN N 和 USER CODE END N 之间,否则下次使用 STM32CubeMX 重新生成代码后 ---- • 由 Leung 写于 2021 年 11 月 16 日 • 参考:HAL库 CubeMX STM32通过SDIO模式实现对SD卡的读写 STM32CubeMX系列|SD卡 【STM32Cube
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129269.html原文链接:https://javaforall.cn
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的 RTC 外设。 1. 2.生成MDK工程 选择芯片型号 打开STM32CubeMX,打开MCU选择器: ? 搜索并选中芯片STM32L431RCT6: ?
前言 使用 ST Motor Control Workbench 5.4.4 FOC 电机开发工具和 stm32cubemx 6.1.1 生成的工程报错,记录一下解决的办法。 一、报错相关信息 报错信息如下: 2024-04-09 18:35:28,527 ERROR [LineInfo_to_exitCode.log_LineInfo] C:\Users\.stm32cubemx version is not supported 2024-04-09 18:35:28,621 ERROR [LineInfo_to_exitCode.log_LineInfo] C:\Users\.stm32cubemx version is not supported 2024-04-09 18:35:28,638 ERROR [LineInfo_to_exitCode.log_LineInfo] C:\Users\.stm32cubemx 官方给出了不同版本的 STM32CubeMx 的限制,但是并未提到针对 6.1.1 版本的说明 二、解决办法 将上述的报错的 .pdsc 文件改成 .pdsc.bak,避开检测 打开 stm32cubemx