说到新手学嵌入式开发,我”听到”最多的声音就是门槛太高了,太难了。
事实真的是这样吗?
我还是用我的个人经历来聊下这个话题吧。
这里先说明一下,我是做嵌入式单片机开发的,很多人以为嵌入式就是ARM+Linux,这种思维是不对的,嵌入式底下细分的方向有很多。
一个人的精力非常有限,想学会和入行,首先你要给自己一个清晰的定位,自己想从事哪个方向。
这个搞不清楚就像你大海捞针一样,没有目标,没有方向,就不会有规划,没规划又谈何学会?
我是在10年前通过自学进入了嵌入式单片机开发这个行业。
我和新手一样,从不知道嵌入式开发是什么,要怎么学,要学什么?
鬼知道,我一开始是从java学起,又学了mysql(其实是准备去做纯软)。
学到中途感觉学海无涯,不知道学到什么程度才能找到工作,最终放弃。
后面通过java me接触到嵌入式,一开始我很盲目,只听说嵌入式要学习Linux,然后就一头扎进去。
学了一堆乱七八糟的指令,学完也不知道这些到底有啥用,只是跟着视频教程一步一步。
最终又感觉不对劲而放弃。
中间迷茫和焦虑了一段时间,生活所迫唯有继续死磕。
不过这次我换了个方向,我了解到嵌入式其实有几个不同的方向,比如说主流的单片机开发和ARM+Linux,当然还有FPGA等等就不说了。
当时是属于脱产(全职)学习,没收入我慌得一批,读了20年书又不甘心向现实低头做普工。
我就选了一个相对比较好上手的单片机开发方向。
在网上搞了一个51开发板,一个配套教程就开始没日没夜地学习。
之所以能坚持下去,是因为学这个反馈很快。
几个小时就能把一个电路板上的一个LED灯点亮,那种喜悦和成就感现在记忆犹新。
也激发了我的兴趣,这有意思多了,一边学习一边反馈,知道自己学的知识用在哪里。
点亮第一个LED灯,我就在天马行空幻想能不能通过程序去控制我家里的灯实现亮和灭。
后面随着种种好奇,不断激发我学习的欲望,2个月左右学习基本就能写出数字时钟这种小项目了。
所以,与其说是学会的,不如说是玩会的,凡事要坚持的东西都很痛苦。
后面成功转行一做就是10年,本来想进阶到ARM+Linux方向,后面想想还是算了。
毕竟技术是学不完的,也只是工具,怎么用技术创造价值才是逆袭的底层逻辑。
总结这10年的经验,对于如何转行到嵌入式,我给新手以下几个建议:
我建议是先从单片机方向入手,见效快,而且单片机的产品应用会比ARM+Linxu多一些,因为成本低。
ARM+Linux适合做一些高端的产品,价格贵。
另外单片机方向对个人创业也比较友好,基本一个人能完成一个产品,外壳那些花点钱找外包就行了。
而ARM+Linux就需要一个团队来完成,有做Linux驱动移植的,有做QT或者安卓应用开发的,有些还需要UI工程师来配合,反正就是人要很多。
2.规划学习路线
这个一定是放在定位以后要去做的,定位决定你的学习内容。
拿单片机开发来说,你主力学好以下几个内容就能快速上手:
- 基础电路
- C语言
- 51单片机
然后再把这3个模块细分成每天需要学什么,按照什么顺序去学习。
3.每日任务,坚持执行
规划好学习内容以后,给每个内容规划好学习时间。
比如说我今天要拿出1个小时时间来学习C语言的数据类型和变量定义这两个章节。
坚持就不用说了,三天打鱼两天晒网,不管你学什么结果都是一样。
能做到以上 3点的,基本也算是个狠人了,学不会是不可能的,难对你来说也是不存在的。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/79970.html