这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 跳过51单片机,直接学STM32有什么严重后果?

共1条 1/1 1 跳转至

跳过51单片机,直接学STM32有什么严重后果?

高工
2022-03-30 09:03:59     打赏

STM32现在之所以这么普及,主要是教程资料非常丰富,一些卖开发板做教程的至少有50%的功劳。


再价格也算合理,导致很多企业用这个单片机去做产品,初学者也更渴望掌握这款芯片。


不过STM32这两年涨价太狠,很多公司采用国产芯片替代了。


我刚接触单片机是在2011年,当时STM32还没现在这么普及。


买开发板就只有例程,还没视频教程。


不然,我也可能直接从STM32开始学了。


人都是浮躁的,总想用最短的时间,学最复杂的东西。


就像我以前去买开发板,明明标配的可能都搞不完,偏偏喜欢上高配。


高配的看起来能做的功能更牛逼,也更接近市面上一些高端产品的功能。


其实买回来,大多数都是丢在一遍吃灰了。


我对陌生的东西,思维还是很古板的,把小白的特性体现的淋漓尽致。


我喜欢从简单的,通俗的入手,系统化地去学习。


如果你认为自己天赋异禀,可以直接学STM32。


但大多数人都是普通人,按照我的路径学习,不敢说快,至少坚持下去肯定是能学会,也能很快达到我的水平。


高手的成长过程可能很牛逼,但并不定适合你。


但是我经历过的路,一定适合大多数人。


我建议新手还是先从51单片机开始学习,不要一上来就打Boss。


前段时间收到了几个小伙伴咨询问题。


他以前是做后端开发的,最近学了STM32,学得很迷茫,改别人的例程用keil编译的时候出现一堆问题,解决起来无从下手。


有些外设虽然也能用起来,但总感觉把控不住,不知道单片机里面具体是怎么工作的。


这就是典型的越级了,学了超出自己认知范围外的东西。


STM32的定位应该是缩短工程师的开发周期,而不是给入门者学习单片机用的。


所以,ST官方提供了一系列便利的支持,比如说固件库,还有图形化配置的STM32CubeMX。


相当于,你可以完全不需要关心STM32寄存器,甚至连数据手册都不用看,就能直接调用库函数把外设用起来。


相反,51单片机则没那么便利,需要你手动去配置寄存器把外设用起来。


这个过程你能同步学习到一些工程师必备的东西,比如说单片机工作原理,内部结构,看数据手册等等。


特别是看数据手册,如果你一点都不懂,后续你用STM32开发项目也会有大量莫名其妙的问题。


就是找不到北那种感觉,可能问题都不知道是什么,更别说解决了。


任何一款基于单片机的产品,99%都需要看一些外围电路的器件数据手册,不然你怎么知道如何去使用它?


看起来,你是走了捷径,节省了学习51单片机的时间,实际上你所花的时间可能更长。


浪费几个月,又可能又要从头开始学。


新手刚入门,也不一定非得从51单片机开始学习,主要是资源少一点的就行,只不过51单片机最经典。


那你通过stm8去学习也是可以的,外设也没多少个,至少用配置寄存器的方式去开发还能把控得住。


image.png


Stm32内部还是比较复杂的,外设寄存器又多。


image.png


对于新手来说不是一个很好的选择,本来你可以学会的,因为学习顺序不对导致放弃就可惜了。


除了学习顺序,学习方法和深度都是不同的。


51单片机一般是需要系统学习,熟悉每个外设对应的寄存器配置。


而STM32我几乎没看过多少次数据手册,直接调库把外设用起来就行。


很多东西,你现在理解起来很难,等你经验积累的差不多了,自然而然就领悟了,不需要刻意去学习。


比如看STM32的数据手册,哪怕是看中文的,很多寄存器干嘛用的,你完全看不懂的。


拿我自己为例子,说出来有点讽刺,但是很真实。


我英语水平很差,我是怎么看英文数据手册的,是根据我的经验去猜测和理解数据手册。


我相信,像我这样的工程师应该不在少数。


因为用多了,看多了,很多核心的参数都是相同的。


学STM32也是一样的,想通过数据手册去学单片机简直就是噩梦。


正确的方法,不管三七二十一,哪怕复制例程,我把外设先用起来看看效果再说。


总比看枯燥数据手册有趣多了,用起来了再尝试去改一些参数,改引脚,改定时时间,改通道…


等你把STM32固件库用熟了,发现某个外设的结构体成员对应正好也是对应某个寄存器。


这个时候再针对性去研究对应的寄存器,就会好理解很多。


一般上了STM32这种级别的单片机,通过项目去学习是最快的。


假设在此之前,你已经学过别的单片机了,那这个时候对你最有价值的不是学会STM32。


而是能做项目的能力,从专业术语来说就是项目思维和编程水平。


单纯从开发板上学习,只能学会单片机这个工具,学完你会发现还是不会做项目。


这也是无际单片机编程让学员以项目驱动学习的原因,我自己就是通过项目学会STM32的。


对于不能落地的东西,不管是知识还是想法,都是在消耗时间。


最后祝大家学有所成!






关键词: 单片机     学习    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]