历史上的今天
返回首页

历史上的今天

今天是:2026年01月03日(星期六)

2023年01月03日 | 整合各方大佬多得来的经验如何学习STM32!(入门、进阶)

2023-01-03 来源:zhihu

一、想快速入门进阶,面向工作时

  先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做,

  都弄明白了再往一块整合,从简单到复杂,硬件操控起来了也就算对这种单片机入门了吧,软件方面,不管用什么单片机,用什么编译器,区别不大初学的最好还是买个开发板,不

  需要多高级的,有几个常用功能做出来,其它就容易了。--------hdxet

  关于初学者是否需要弄清底层函数问题:

  先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看--------hdxet

  二、进阶步骤

  会点灯-入门;

  会使用各个常见中断,能把项目做出来-熟练;

  会DMA、PWM各种模式,能把项目熟练完成-精通;

  会CAN,USB,RS232,RS485,SPI,I2C,运动控制,电机驱动,各种滤波算法,PID算法-非常精通。--------coleyao

  三、经验分享

  自己的体会,对不对不知道哈。我自己学MCU就是大学里学的51单片机,所有功能会用算是入门槛,后来学习和工作慢慢接触其他的PIC,Freescale,STM这些,慢慢发现其实

  东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就

  是参考一下手册会调用,底层驱动功能正常就可以了,很少项目里面从零开始写代码了。--------Lu.Shi

  四、经验分享

  建议:初入STM32的学习者不用记,直接用就行了,这个玩意,实践才能进步;边学边用才是正途,关键是用,不是学。------leicai05

  五、经验分享

  可以自己试着完成一个功能,比如简单的流水灯,逻辑肯定自己写,涉及到stm32的比如怎么初始化、怎么配置之内的不会的可以查资料,但是一定要要有自己的思想,

  完成了我觉得就算入门了。------Llinuxu

  六、关于初学者是否要弄懂底层函数

  初学者没必要弄懂底层函数。项目需要用到什么再去研究什么。比如你的项目只要点亮一个LED灯,那你只研究怎么配置GPIO就好了,没必要去研究什么PWM了。现在

  有个神器叫STM32CubeMX,直接生成一些底层初始化代码,加上HAL库调用,哪里不会再查哪里。底层函数这玩意,你调用多了,自然会去研究怎么配置达到你要做的效果,

  在项目中进击,没必要一上来就啃底层,专注你的算法才是真正有意义的事情。------oner

  七、经验和观点的分享

  我也有思考,如何清晰、系统地学习 STM32,建立整个 Cortex-M 知识体系,以及相应的理论支撑,并最终应用到 Cortex-M 内核 MCU。现有的教程也都没有构建这样的

  知识体系,学习、成长路线,所以很多人(包括我自己在内)都会在某个阶段遇到瓶颈。到头来发现自己依旧停留在知道这个点,也会用,会面向百度编程,但一遇到问题需要

  调试,需要更多的理论支撑的时候,就无从下手了。

  另外,STM32 做项目的话,应该也少不了使用操作系统,所以 RTOS 还是需要学习的。RTOS 面又是比较多的,现在又有物联网操作系统的概念

  (比如 RT-Thread【物联网相关的软件包非常多】,华为的 LiteOS【官方动作比较小】,阿里的 Aliosthings【WIFi 等模组支持的相对较好】)。

  所以,有人能把这套内容整合出来一个学习路线和测试验证知识点,应该会非常好。-------MurphyZhao

  八、经验分享(什么时候可以接触项目)(指导的很多方面)

  会建立工程点灯就算入门

  知道各个外设的基本特性就算基本熟练(定时器 SPI UART IIC SDIO FMC,有需要再看网络和USB) 知道怎么读取、控制外围设备(采样、显示、射频一类的),

  会用现有库就算精通(RTOS/UI/存储/网络)剩下的都是工程经验,代码组织、排错、调试一类的,多做就行。

  会用串口,能通过示波器看懂SPI/IIC的波形、能输出想要的波形,会输出PWM波,就可以开展项目了,另外是C语言要扎实,有一点总线知识,至少要明白

  堆栈的含义,知道自己随手定义的变量处在什么section,熟悉数据的内存组织结构更好(这些最好是多做调试多看MDK的Call Stack+local窗口和Watch窗口,看看

  数据对应的内存地址和组织方式,对你深入了解语言、CPU有很大好处)。

  深入的逻辑、代码组织方式,需要你自己在实践中总结,看别人的源码也是比较不错的方式求快的话,不建议看视频,从PDF教程开始,配合官方的手册对照看。

  一个月从0到会走路是没问题的。

  关于学习方式:

  视频的进度和内容不容易筛选,你只能跳着跳着看,或者1.5倍速完整拉完,跳着看容易遗漏看PDF方便反复查看仔细比对。先看设计大纲,自己理解一遍,

  然后针对性地看自己不太理解的的地方,在具体技术细节上配合datasheet,全程都是干货。再自己拿板子跟着走一遍基本就OK了。--------barryxiao

  九、经验分享

  1.芯片只是一个底层工具,当然你只有完全了解你所使用的外设工作逻辑后才可能设计出可靠的底层系统。

  2.底层熟悉后,剩下的就是项目的应用问题,算法,协议,应用逻辑等,这个就是行业属性,行业积累。

  3.如果说入门,至少知道配置一个外设的完整流程,不一定每一个都要用一遍,只要你知道大概流程,用的时候知道看什么地方就入门了。------lingdianhao

  十、学习心态方面(关于工作面对项目)

  同意你的意见,我觉得搞技术心态很重要,就是蔑视他,不就是什么什么嘛,老子能搞定你。

  如果遇到问题就是天大的事情,感觉自己不行,搞不定。这样即使解决问题了,也只是解决这样一个问题。-------梁皇山土匪


推荐阅读

史海拾趣

FDK AMERICA公司的发展小趣事

随着环保意识的日益增强,FDK AMERICA公司积极响应绿色制造理念。公司投入大量资金研发环保型电子产品,采用环保材料和绿色生产工艺,减少对环境的影响。同时,公司还积极参与各类环保活动,倡导绿色消费理念。这种环保举措不仅提升了公司的社会形象,也为公司赢得了更多消费者的青睐。

Banner Engineering公司的发展小趣事

Banner Engineering公司成立于XXXX年,起初主要致力于传感器技术的研发和生产。在公司初创时期,面临着激烈的市场竞争和技术挑战。然而,公司凭借其创新的思维和技术实力,成功开发出一系列具有高精度、高可靠性的传感器产品,迅速在市场中获得了认可。这些传感器产品在工业自动化、机器人技术等领域得到了广泛应用,为Banner Engineering公司的初步发展奠定了坚实基础。

厦门法拉(faratronic)公司的发展小趣事

FMI公司始终坚持以客户为中心的发展理念,致力于为客户提供定制化的频率控制解决方案。公司拥有一支专业的研发团队和完善的生产流程,能够根据客户的具体需求进行产品设计和生产。无论是标准产品还是定制产品,FMI都能确保高质量和快速交付。这种灵活的服务模式使得FMI在客户中树立了良好的口碑,并为公司赢得了更多的商业合作机会。

璟德(ACX)公司的发展小趣事

2008年,璟德(ACX)成功在台北证券交易所上市,股票代码为3152。这一举措为公司带来了更多的资金支持,也提升了其品牌影响力和市场地位。上市后,璟德(ACX)加大了对研发和市场拓展的投入,进一步巩固了其在无线通信领域的领先地位。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

2008年,璟德(ACX)成功在台北证券交易所上市,股票代码为3152。这一举措为公司带来了更多的资金支持,也提升了其品牌影响力和市场地位。上市后,璟德(ACX)加大了对研发和市场拓展的投入,进一步巩固了其在无线通信领域的领先地位。

Apex Tool Group公司的发展小趣事

多年来,璟德(ACX)凭借其卓越的技术实力和市场表现,荣获了多项荣誉和奖项。这些荣誉不仅是对公司过去努力的肯定,也为其未来的发展注入了新的动力。同时,璟德(ACX)始终坚持创新驱动的发展理念,不断投入研发,推出新产品和新技术,以满足市场的不断变化和客户的需求。

请注意,以上故事是基于现有资料和行业常识构建的,可能无法完全反映璟德(ACX)公司实际发展历程中的所有细节和复杂性。如需了解更多关于璟德(ACX)公司的故事和发展历程,建议查阅公司官方网站、相关新闻报道或行业研究报告。

问答坊 | AI 解惑

Tieto招聘:嵌入式软件工程师

叠拓(原迪易通)信息技术有限公司 (Tieto),成立于1968年,是一家北欧的从事软件解决方案的全外资集团公司,分别在赫尔辛基和斯德哥尔摩证券交易所挂牌。是综合实力北欧地区第一,欧洲前三的IT业务供应商。 请将简历发送到 xiaoli.yang@tieto.co ...…

查看全部问答>

TTL与非门的问题

下图TTL与非门中,D1和D2起什么作用? 请指教,谢谢! …

查看全部问答>

电脑显示器半边黑屏,求助于各位达人

各位达人,我的台式显示器开机是正常的,但过一会儿就会上半边黑屏,下半边是正常的。这不知道是什么问题。请各位给我一些帮助。我很感激你们。…

查看全部问答>

增大Audio DMA Buffer后,Skype通话断续

增大Audio DMA Buffer后,Skype通话断续 之前调试中发现:增大Audio DMA Buffer,会导致播放视频卡,和skype断续的情况很相似,声音也是一断一断的,最后通过更新视频解码器,此问题得到了解决 那么skype的问题如何解决呢?skype使用的是什么解码 ...…

查看全部问答>

wince的啟動問題

請問,我觀看e-boot的source code,發現 // Function prototypes extern void Launch(unsigned int uAddr); extern void Launch2(unsigned int uAddr); 但卻沒有該function的實作,是否要自己去實作這兩個function 才能啟動wince …

查看全部问答>

矩阵键盘GPIO口的配置问题.

想用STM32作个4*4矩阵键盘,通过上拉电阻接到VDD的行GPIO如何配置?作列输出的GPIO口方又如何配置?小问题,麻烦各位了.…

查看全部问答>

给大家分享一下LM3S811中文教程

我大致搜索了一下,论坛里还没有,只周立功公司的,大家先了解一下吧!…

查看全部问答>

建议:关于“团购板子中不带触摸板”的解决办法

首先这次团购活动确实是EEWORLD为大家争取到的福利,这块板子上的仿真器部分的芯片就不止25元,网上一个这样的仿真器价格在50元左右,加上板子其实实际价值差不多100元,25元出去15元运费,相当于大家以10元来买了价值100元的板子,并且后面坛子里 ...…

查看全部问答>

求分析单片机控制电机电路

本帖最后由 uncosam 于 2014-5-20 23:48 编辑 这个电路是用万用表在一块板上测了自己画出来的,线路应该没错 我想问这个电路能通过单片机控制正反转么,它是怎么做到的?求大侠科普。。 …

查看全部问答>

混音技术注意的问题

  从表面上看,混音是非常简单的事情,要做的只是调节一些旋钮,直到所有的声音听起来都很好即可。但在实践中你会体会到混音确实是一项很复杂的技术。因为,音乐中的每一个元素都有其自身的声学空间位置、特性等,所以,不仅要将注意力放 ...…

查看全部问答>