历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2021年02月01日 | 用心去学习STM32CubeMX,你会有不一样的收获

2021-02-01 来源:eefocus

这里使用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.不要一来就问有没有捷径,遇到一点小问题都不去面对,永远没有捷径。


推荐阅读

史海拾趣

GardTec Inc公司的发展小趣事

背景:随着公司实力的不断增强,GardTec开始积极拓展新的市场领域,提升品牌影响力。

发展:公司不仅在风扇配件市场保持领先地位,还逐步将业务拓展到更广泛的电子配件领域。同时,GardTec积极参加各类行业展会和交流活动,提升品牌知名度和影响力。

影响:通过市场拓展和品牌影响力的提升,GardTec在电子行业中的地位更加稳固,为公司的长期发展奠定了坚实的基础。同时,这也为公司的合作伙伴和客户带来了更多的机遇和价值。

千志电子(CCO)公司的发展小趣事

千志电子一直注重技术研发和创新,不断推动产业升级。公司拥有一支专业的研发团队和先进的研发设备,致力于电阻技术的研发和创新。通过与高校和科研机构的合作,千志电子不断引进新技术、新工艺和新材料,提高产品的技术含量和附加值。同时,千志电子还注重知识产权的保护和管理,积极申请专利和注册商标,维护了自身的合法权益。

Digital Equipment Corp公司的发展小趣事

1957年,麻省理工学院的工程师肯尼斯·奥尔森(Kenneth Olsen)和哈伯特·安德森(Harlan Anderson)共同创立了Digital Equipment Corporation(DEC)。他们最初的目标是开发和生产创新的数字计算设备。凭借他们在数字技术领域的专业知识和独特视角,DEC推出了首批数字实验室和数字系统组件,这些产品在市场上取得了初步的成功,为DEC的发展奠定了坚实的基础。

ERA Transformers公司的发展小趣事

随着市场需求的不断增长,ERA Transformers公司面临着扩大生产规模的挑战。为了满足客户需求并保持市场竞争力,公司决定投资建设一个新的生产基地。经过精心规划和筹备,新的生产基地顺利建成并投入使用。这不仅大大提高了公司的生产能力,还进一步提升了产品质量和生产效率。新基地的建成标志着ERA Transformers公司在电子行业中的地位更加稳固。

德立电子(DDY)公司的发展小趣事

面对日益激烈的市场竞争,德立电子积极拥抱数字化转型。公司引进先进的生产管理系统和智能设备,实现生产过程的自动化和智能化。通过数字化改造,德立电子提高了生产效率,缩短了生产周期,降低了成本,进一步增强了市场竞争力。

Dover Corporation公司的发展小趣事

Dover Corporation自上市以来,一直保持着持续盈利和向投资者发放红利的记录。公司凭借其强大的业务能力和稳健的财务状况,赢得了投资者的信任和支持。这一成绩的取得不仅彰显了Dover在业务运营方面的实力,也为其未来的发展奠定了坚实的基础。

请注意,以上故事框架仅为概述性质,具体细节和数据可能需要根据Dover Corporation的实际情况进行调整和补充。

问答坊 | AI 解惑

各位大虾谁能给我个《plug and play system architecture》?非常感谢

各位大虾谁能给我个《plug and play system architecture》?非常感谢, 我的邮箱jerk66@163.com…

查看全部问答>

EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:s

EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:stack overflow。 程序如下          CVOConnection* m_Conn;          CVO ...…

查看全部问答>

问一下MSP430f42xx里的SAD( Sigma-Delta A/D)怎么用啊?

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 Sigma-Delta A/D 原理基本不懂····和逐次比较的有什么不同?还有怎样操作它?  …

查看全部问答>

如何关闭CPU

我的板子是用电池供电,现在需要个功能,在电压降低到1.8V时关闭CPU,通过上电复位。我用一块电压检测芯片来检测1.8V, 我不清楚,检测到1.8V,是进入低功耗4吗?还是怎么样? 进入低功耗4,但是电压重新达到3V时,我又实现不了复位。如何才能实 ...…

查看全部问答>

有源滤波

附件图是一个有源三阶切比雪夫滤波,输出端是PWM(0-5V)波,我不是很懂在里面的运算关系,比如传递函数的分析。但是我用电子电路仿真之后发现当PWM占空比一定时,在经过短暂时间,这个电路的输出电压会稳定在一个值,改变占空比,输出电压就会改变 ...…

查看全部问答>

基于ARM与SD卡的大容量数据存储技术的应用研究

0 引言   在现场测控系统中,RTU(远程测控终端)存储容量、存储数据的转移问题始终是RTU的重要环节。RTU的存储容量一般为几十K~几百K字节,数据转移通常采用不掉电静态RAM、EEPROM存储模块,或采用便携式计算机通过串行口读取RTU数据。 ...…

查看全部问答>

【悬赏求助】launchpad捕获按键按下的时间

最近在学习launchpad,中断方面困难重重。。。我想实现这样一个功能:P1.1设为输入,连接一个按键,然后利用中断判断按键按下的时间,要是短按的话就LED1翻转,长按的话LED2翻转。这样的话,我知道应该用捕获模式获取时间信息对吧,但是实现过程一 ...…

查看全部问答>

MSP430硬件I2C程序

MSP430硬件I2C程序,已测试通过,有兴趣的可探讨探讨…

查看全部问答>