0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈STM32CubeMX的理解心得与运用

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-03 14:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这里使用STM32进行学习、开发的朋友较多。那么,STM32CubeMX可能就是大家必备的一个工具。

1写在前面

从公众号后台、微信给我留言的问题可以看得出来,使用STM32CubeMX这个工具的人有很多。

那么,使用STM32CubeMX进行配置、开发时,相信大家都需要过各种各样的问题。

我也不例外,我是15年开始使用STM32CubeMX这个工具,这些年来陆陆续续也遇到过很多问题,特别是刚开始的时候,感觉整个人都不好受。但是,好在我把遇到的问题多逐步解决了。

今天,和大家说说:如果你选择STM32作为硬件平台,你有必要学习一下STM32CubeMX这个工具。

2

入门有必要选择STM32Cube HAL库开发吗?

这里我给的答案是:No

这个问题见仁见智,但是从关注我公众号的读者朋友中,我综合给出的答案是No.

原因:很多朋友的基础还是偏弱。

HAL这套库是需要有一定数据结构功底的朋友来学习。简单说,你需要对指针、结构体、回调函数等这类C语言知识有一定掌握才行。

使用过STM32Cube进行开发的朋友都应该经历过这过问题:一旦底层有问题,去找这个问题相比SPL(标准外设库)要难得多。

当然,如果你对HAL这套库比较了解的话,其实难度也不大。

所以,我的建议是:如果你数据结构功底不好,可以先从寄存器、标准外设库开始,当你基础知识累计一定程度,可以转向STM32Cube HAL开发。

3

有必要学习一下STM32CubeMX

当然,上面给出的入门建议不是说不鼓励大家去学习一下STM32CubeMX。这节说的就是你有必要学习一下STM32CubeMX。

学习STM32CubeMX的目的:你会有意想不到的收获。

上面我说了,我也是踩了很多坑过来的,但一路过来,我发现其实我收获还蛮大的。

包括很多基础的问题,可能你之前从来没了解过。这里也罗列一些问的较多的问题吧。

1.中文路径

在生成MDK-ARM工程时,中文路径会出错:

看英文提示:在...路径下生成工程出现错误。

2.自己写的代码,重新生成会被删除

这里需要进行配置,并且你的代码需要在指定位置(BEGIN --- END内)。

这样,当你重新生成工程时,这些代码就不会被删除。

3.警告

这里看一下提示就知道:大概意思就是多了一个括号。

4.__weak弱定义

很多朋友可能之前都没有见过【__weak】这个关键字,它有“弱”的意思。

这里的意思就是说:如果你自己写一个同样的函数(HAL_UART_MspDeInit),那么,这里带有weak关键字的函数就不起作用。

还有,有朋友问:不知道工程中很多UNUSED函数是什么意思。你自己看一下注释就知道,它的为了防止编译警告,“未使用的函数”。

只要你愿意去发现问题,并解决问题,你就有收获。

4总结

1.遇到问题,看提示找问题。

几个英文单词不认识的话,翻译工具应该知道吧。久而久之你会发现有些问题都不是什么问题。

2.使用STM32CubeMX之后,你会发现你掌握了更多之前没有掌握的知识。

上面举的几个例子,相信肯定有朋友不知道的这些知识,我们学习都是一个积累的过程。

3.不要一来就问有没有捷径,遇到一点小问题都不去面对,永远没有捷径

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2313

    文章

    11203

    浏览量

    375013
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41714
  • stm32cubemx
    +关注

    关注

    5

    文章

    290

    浏览量

    17500
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在 STM32Cube CMake 工程中添加源文件

    STM32CubeMX 能够很方便的导出 CMake 工程。例如,如下图所示在 STM32CubeMX的 ToolChain/IDE 中选择 Cmake。CMake 工程可以很容易被
    发表于 04-15 16:07 0次下载

    基于 X-Cube-FreeRTOS_Heap4 和 CubeMX 生成 UCPD 项目介绍

    1. 前言某客户反映参考我们的文档 AN5418《How to build a simple USB-PD sink applicationwith STM32CubeMX》去配置 FreeRTOS
    发表于 04-15 15:59 0次下载

    LAT1574_如何在 STM32Cube CMake 工程中添加源文件

    STM32CubeMX 能够很方便的导出 CMake 工程。例如,如下图所示在 STM32CubeMX的 ToolChain/IDE 中选择 CmakeCMake 工程可以很容易被
    发表于 03-11 10:46 0次下载

    常见 MCU 开发环境对比:Keil、IAR、VS Code 该选谁?

    开发环境对比表,帮助你快速掌握。01STM32系列主要IDE:STM32CubeIDE、KeilMDK、IAREWARM特点:官方支持STM32CubeMX生成初
    的头像 发表于 01-09 19:03 2226次阅读
    常见 MCU 开发环境对比:Keil、IAR、VS Code 该选谁?

    基于 X-Cube-FreeRTOS_Heap4 和 CubeMX 生成 UCPD 项目介绍

    某客户反映参考我们的文档 AN5418《How to build a simple USB-PD sink applicationwith STM32CubeMX》去配置 FreeRTOS 生成
    发表于 01-04 11:18 0次下载

    请问RT-Thread与stm32cubemx联合开发的原理是什么?

    在使用RT-Thread与stm32cubemx联合开发的原理是什么,cubemx在其中主要起到了哪些功能呢?
    发表于 10-11 15:49

    STM32cubeMX生成配置rt-thread引用问题求解

    如题,本人小白,刚接触rt-thread,STM32F1/4简便配置起见利用cubeMX自动生成,测试几次后直接蒙了,不知道哪些文件是rt-thread项目必须的,网上说法也五花八门,说代码屏蔽某些
    发表于 09-12 07:21

    意法半导体:STM32CubeMX将不再集成到STM32CubeIDE中

    从2025年11月发布的版本开始,我们将仅以 独立 版本的形式提供 STM32CubeIDE 和 STM32CubeMXSTM32CubeMX将不再集成到STM32CubeIDE
    的头像 发表于 09-01 17:18 4033次阅读

    stm32cubemx在联网时无法启动是怎么回事?

    最近开始重新学习hall库开发(很早以前安装过cubemx,那个时候似乎还没有问题),发现软件进入加载界面后就没有反应了。后台显示软件依赖的jdk在正常运行。开始以为是cubemx的问题,对它进行了
    发表于 08-01 08:00

    使用STM32CubeMX的时候创建的工程已经使用的板载资源如何去掉?

    在使用STM32CubeMX的时候创建的工程已经使用的板载资源如何去掉?在基于开发板进行工程创建的时候会把板载资源直接初始化,后面想要用不同的功能配置,如何把初始配置去掉?
    发表于 07-22 07:13

    对于在STM32CubeMx使用FMC中的NAND FLASH里面配置这些时间有什么说明吗?

    对于在STM32CubeMx使用FMC中的NAND FLASH里面配置这些时间有什么说明吗?
    发表于 07-21 07:07

    stm32cubemx上的g031j6的管脚和数据手册不一致,请问哪个是正确的呢?

    stm32cubemx上的g031j6的管脚和数据手册不一致,请问哪个是正确的呢?
    发表于 07-10 06:39

    STM32N657X0Q为什么无法通过SPI驱动st7796板子?

    求助大家,一般来说要想驱动lcd外设应该在stm32cubemx里配置什么,我的lcd可以正常供电但是就是烧录程序后仅黑屏一瞬间然后继续白屏,我感觉是没有在stm32cubemx里配置好,有没有大神解答一下
    发表于 06-19 07:21

    STM32CubeMX配置STM32G070RBT6TR时为什么无法使能PVD中断?

    STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
    发表于 06-18 07:59

    STM32CubeMX配置STM32G070RBT6TR时无法使能PVD中断怎么办?

    STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
    发表于 06-16 06:32