曾经我是自学单片机然后跨行成功,今天来分享下自己的经验。
在网上看了很多文章,很多人说现在51单片机已经过时了,建议从STM32开始学习。
或者单片机没有钱途,直接搞ARM Linux。
即便如此,我的建议还是从51开始学习,51是基础,学习难度也是新手比较容易接受的。
别人怎么学,或者到底有没有从事过这个行业的工作我们都不知道。
为什么我经常跟大家说,我的学习方法和路径适合大多数人参考?
因为我可以向大家保证的是,我就是这么自学过来的,而且我也在这个行业从事了多年的开发。
我的学历各方面也是普通得不能再普通了,我都能学会,而你学不会,这只能说明你方向不对,或者没用心。
STM32的定位是给有经验的开发工程师快速做出产品,软件是基于固件库开发,不涉及到寄存器的配置,新手直接进入这种开发模式会一脸懵逼,不知道底层的原理。
ARM Linux确实工资会高些,相对的门槛也高,学习难度大,如果不够自律,新手很难通过自学学会。
而且,如果你做过单片机开发再去学习ARM Linux的方向,你会比直接学习这个理解得更透彻,基础更好。
打个比方,你直接学习可能需要半年甚至1年,等你做了单片机开发后去学可能只需要1-2个月。
我们学习的目的无非就是想通过这门技术先找到一份工作养家糊口对吧?
我当初自学到就业也就花了3个多月时间,所以从学习周期和回报率来说,先学习单片机开发是非常不错的选择。
至于后期你想不想进阶到Linux看自己选择,一般单片机开发做好就能让你过上不错的生活了。
Ok,那废话不多说,下面开始讲下51单片机入门自学最佳路径:
1.基础电路
学习单片机必须掌握基本的电路基础,比如说欧姆定律,二极管、三极管开关原理,LED灯驱动电路,按键检测电路,ADC检测电路等等。
有个量化标准就是,你学到能把市面上任意一款51开发板上的电路原理图看懂就可以了。
2.学习C语言
通过编写C语言或者汇编来控制单片机,汇编目前用得不多,所以建议只学C语言就行了。
针对单片机c语言我们无际单片机编程专门为零基础学员录制了一套教程,大家可以到我们公号获取。
C语言学完结构体,指针足以,如果指针前期学不懂也没关系,等你多做几个小项目以后就知道怎么用,该用在什么场合了。
3.单片机
能够把每个51单片机外设都用起来(外部中断、定时器、串口等等),最后做一个类似于电子时钟一样的小项目来培养自己的产品思维。
以上就是做单片机开发必备的技能,这些买个开发板跟着视频自学完全能学会。
关于后续如何提升,除了做项目,没有更好的选择,这也是我们特训营的价值之一:以项目为导向。
所以很多人问开发板才几百块,为什么我们收几千,我们除了带做产品,还提供7x12小时的技术支持,不管学什么,我最怕的就是碰到问题找不到可以指导的人。
最后总结很多新手之所以学不会,有几个原因:
1. 花太多精力去研究模拟电路,数字电路
2. 学习过程中不懂得培养自己的兴趣,学习技术是很枯燥的过程,每学一个知识点最好做点有意思的东西来培养下自己的兴趣,同时还能提升自己编程的熟练度。
3. 没有学习氛围,没人实时指导和纠正方向。