时间很快,不知不觉从事单片机开发近10年了,对于单片机怎么学这个话题,感慨万千。
单片机在外行人看来门槛很高,既要懂硬件,又要会编程,大多数人还没开始已经吓尿了!
其实,单片机并大家没想的这么难,关键就是方向正确+努力。
下面来讲讲我的自学经历。
曾经我和大多数即将步入社会的学生一样,不知道自己以后该做什么,对未来充满无助和迷茫。
更糟的是,我文凭也不高,连本科都不是,但是抱怨没有用,第一步首先要解决就业的问题。
我的性格是比较内向的那种,所以我选择了编程,最重要的还是那工资看着真香。
但是编程分为很多种,C、C++、java、PHP等等等,选择太多让我无从下手。
一次机缘巧合的机会,让我了解到了单片机,这玩意有意思,因为能通过写程序去控制硬件去完成一些有趣的操作,比如说最经典的点灯,智障小车等等。
或许我是比较喜欢这种”即时反馈”,可以一边学一边做出好玩的东西出来。
然后我就一头扎进学习单片机的道路,越研究发现越艰难,什么电子元器件、数字电路、模拟电路、数学、英语、单片机、C语言、Protel99、原理图一堆东西要学。
现在想想,如果当初我能看到这样一篇指引方向的文章,那该有多么幸运。
Ok,干货正式开始,我将通过以下3点来讲述单片机要怎么学,才不会从入门到放弃。
1.单片机要学什么?
2.入门最佳学习路线
我们不管学什么,最重要的目的都是奔着赚钱的,这点应该没人反驳吧?
对于单片机来说,前期变现唯一的方式就是去找工作。
有这个思维以后,接下来就好办了,我们直接看企业需求。
我们直接打开招聘平台,然后搜”单片机工程师”、或者”嵌入式工程师”职位。
多看几个职位你就会发现大家的要求都是大同小异,我们只要抓住这些职位的共同要求,这个要求通常就是这个职位的刚需,而这些就是我们要学的。
什么?你还是总结不出来?
没关系,我早想到了!继续往下看!
入门学习路线大纲:电子元器件-电路基础-C语言-单片机-AD软件使用
1.电子元器件
单片机主要是用来控制硬件的,所以基本的电路必须要懂,而电路是由各种电子元器件组成的。
元器件成千上万种,没必要全部学,前期只需要学会电阻、电容、继电器、LED灯、二极管、三极管、MOS管、电感、按键、晶振这些元器件的作用就可以了。
2.电路基础
关于电路的知识就多了,电路还分模拟电路和数字电路,我入门的时候在这里踩了一个大坑(死磕了一段时间模拟电路),导致我一度想放弃单片机。
其实完全没必要单独去学模拟电路和数字电路,对于单片机开发来说模拟电路用的还是比较少的,即便有也有专门硬件工程师帮你设计成能直接接单片机的信号了。
电路基础只要掌握欧姆定律、三极管开关原理、二极管导通原理、按键检测原理、蜂鸣器驱动、单片机的外围电路就可以了,简单来说学到能看的懂51单片机开发板的电路图就行了。
3.C语言
我在入门的时候C语言和单片机是同步学的,否则单纯去学枯燥无味的代码兴趣很容易被磨灭,学技术最大的动力就是兴趣。
C语言学完结构体和指针那章就可以了,如果指针实在学不懂那也没关系,先了解,当你有一定代码量的沉淀后,再回过头去看就很容易搞懂了。
3.单片机
目前市面上主流的单片机就是51和STM32,所以这两个单片机是必学的,先学51后学STM32。
51的话全部外设都要学完,而STM32因为比较复杂一点,所以只需要学习常用的外设(GPIO、Timer、中断、USART、IIC、SPI、PWM、DMA、ADC)就可以了,其他像什么CAN、USB的一律不管,工作需要用到的时候再去学。
4.AD软件使用
AD是一个画原理图和PCB的软件,作为单片机软件开发来说只需要会看或者画原理图即可。
以上学习路线所有资料在网上都能搜集到,我这边也整理了一份,要的可以直接找我拿。
正确的方向比盲目地努力重要,特别是学技术这种无底洞。
最后聊下很多小伙伴最近问我的一个问题,他说他没有学历,英语数学也不好,专业也不对口能不能学得会单片机和编程,学出来会有人要吗。
其实完全没必要有这个顾虑,记得在17年的时候在公司里带了一个之前在工厂做电路板维修的学徒,他也才初中毕业,后面跟他聊的来,就带着他学了半年多,后面他跳槽到一家公司做研发,拿13K一个月,原来做维修才6K多。
所以,学历和数学、英语最多是决定了你的天花板,而不是限制你进入这个行业的门槛。
玩到后期,想通过这个行业赚到大钱,拼的绝对不是技术,而是你的思维认知,你的人脉,你的资源。