不学51直接学stm32可以吗?学stm32需要哪些基础?

不管那些大佬技术多么牛逼,大多数入门都是从51单片机开始。

最近有一些入门的小伙伴问我说看到同学都从直接从STM32开始干了。

看着STM32开发板各种模块,以太网、USB、触摸屏、MP3、SRAM、SD卡之类的,瞬间感觉自己手里的51开发板不香了。

51开发板就是一些简单的led、数码管、按键、1602屏,看着像是上个世纪的东西了,LOW的一逼,都没学下去的动力。

到底还有没有必要先从51单片机开始学起啊?如果从51单片机开始学会不会落后别人很多啊?

下面我根据自己10年开发的经历来解答下大家问题。

温馨提示:大佬杠精直接跳过去学STM32吧,我的方法只适合像我这种笨,不适合你。

我当初是通过STC89C52RC单片机入门的,那个时候也没那么多可以选择。

如果当初我看到现在stm32那些开发板,或许我也会放弃51从stm32开始学起。

就像当初RK3288开发板出来的时候,我一咬牙一跺脚花了几千块买了。

就是看中这个开发板的配置,基本能做一台平板和手机了。

刚买来的时候很兴奋,很想快点把它学会,下载了官方教程,就像你翻阅前女友旧史一样去钻研它。

越学越迷茫,光是搭建环境都花了好几天时间,把例程下载到开发板上点亮一个LED灯以后小有成就。

但是当时我没去学过Linux,也没接触过A17核的芯片开发,整个开发模式完全跟单片机开发不一样。

导致我每走一步都异常的艰难,最让我印象深刻的就是,不知道Linux系统是怎么跟硬件对应起来的,如果我要改IO口控制的话要怎么改?

随便改一下都要编译几个小时(应该是我没掌握方法),我简直是要崩溃。

后面我花了500块找了一个熟悉这个平台开发的大佬指点下我,刚开始会语音一对一这样教一下, 2天后他就跑路了,马勒戈壁。

后面自己学不下去了,网上又没这块入门级的教程,因为基础知识缺失太多,导致那个开发板一直放在某个角落吃灰,后面搬家直接被我扔垃圾桶了。

我的案例和新手直接跳过51去学STM32很像。

有些直接学stm32的同学问过我很多问题,在我看来这些问题都是入门级的,我实在搞不懂能学到stm32的人怎么问出这种问题。

后面我和他们详细聊完发现,就是基础知识缺失,导致自己所学的知识体系都是畸形的。

这几年,我用51单片机做过的产品加起来超过了10个。

每次看到关于先学51还是直接学stm32这个话题的回答,总是有一些大神说直接学stm32没问题。

还有说51已经过时的,51单片机性能太低了,满足不了现在产品的需求。

一般能说出这种话的,我认为都是没入行在那瞎比比的。

如果你听了他们的鬼话,学得会才怪,毋庸置疑, 51还是有很大的市场

很多人理解的51就是89C51之类的。

其实现在很多用51内核进行二次封装,专门针对某些领域的Soc。

这些Soc也是51内核的单片机,使用方法跟51基本一样,区别就是内置了一些特殊功能模块,比如说计量模块、蓝牙模块等等。

还是给大家举个例子吧,比如说Ti公司的CC2541这个蓝牙芯片。

最近几年,我明显感觉这个行业发展得越来越好,很多人也了解到了嵌入式开发,单片机开发,都希望自己能赶上物联网、5G这个风口。

但是,很多人普遍问题就是不知道怎么开始,不知道该学什么,学到什么程度能独立开发。

今天看到别人说现在主流是用STM32,你就随波逐流去学习STM32。

明天看到别人说现在做单片机开发工资低,没前途,要学ARM+Linux才有前途,你又放弃单片机跑去学Linux。

到头来,你啥也学不会,还不如认准了就死磕到底。

人的信念是很重要的,千万不要指望技术能为你挣多少钱,你要指望自己能用技术挣多少钱

你和那些技术大牛的收入绝对不是单纯的技术高低,大多数人都是普通人,普通人能达到的程度就是通过这个技术养家糊口。

至于发财,技术可能只会占到20%,甚至都不到。

很多只会STC 51单片机的,靠这个技术开发产品发家的大把的。

我说出来你可能不信,我当初也和你一样,当你碰到了,绝对会刷新你的三观。

在我接触学习单片机的人群里,有初中文凭,有大学生,有研究生,也有别的行业转行的。

每个人基础和条件都不一样,有些只会c语言,不会单片机,有些只会基础电路,其他啥也不会,还有一些完全是零基础。

从宏观的角度来看,学习单片机的路径都是一样的,只是大家的起点不一样。

如果你会C语言,那就先从51单片机和基础电路开始,如果你会c语言又会51单片机,又看得懂电路,就是不会做项目,那就直接去学做项目。

这也是为什么我们对每个新加入的学员,都要先进行基础评测,再规划系统学习路径。

做离结果最近的事,你才能快速抵达目标!

我厌倦了每天瞎鸡忙又得不到结果的日子,相信你经历过也会这样。

正确的路径和方法就像数学公式一样,正确的公式肯定能得到正确的结果。

所以,在我看来,先学习51单片机打基础,再通过51单片机做项目,做完再进阶到stm32是一个比较”健康”的学习路径。

学习stm32其实真正难的不是用这个单片机,stm32用熟了你会发现,比51还简单。

都不用关心寄存器,直接调用官方提供固件库就可以直接开发,把开发板例程一复制过来,改改IO口测试一下,几分钟就能把灯点起来。

51单片机你还要查阅数据手册,然后配置相应寄存器。

先从51学起的目的是为了让你熟悉单片机的底层逻辑,熟悉程序开发控制硬件的流程。

还有就是一些常用的协议,IIC、SPI、串口。

等你熟悉这些以后,再通过51去做一个项目来巩固,提升下代码水平。

再过度到stm32,你要接纳的知识就不会像大浪一样,一下涌过来。

(0)

相关推荐