前言
作为一个老司机,多年来跟单片机、Keil、C语言、AD、烙铁、风枪、示波器、电子元器件纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头发。
当初熬夜点亮了一个LED,像这样一个个小小成就感让我砥砺前行。
刚开始并不看好这个行业,事儿多工资少,需要不停地学习新知识。前几年熬夜焊板子,一边工作一边咒骂。相关 文章: 硬件工程师绕不开的焊接 。
多年后,庆幸有这一技之长,让我能吃饱饭、开上车,有个家庭。
刚毕业就转行
当初是自学转行的,学的电梯专业,临近毕业20岁出头,精力旺盛没地方使,一块51开发板配一个视频教程,除了吃饭上厕所,寸步不离房间。
入门的时候,我和很多新手一样,不懂电路,不懂编程,不懂单片机,对单片机开发的任何一个环节都充满了问题。
好在学习能力还行,也有耐心,跟着视频一步一个脚印,看一个章节我就在开发板上试验一下。
很快我就能从点灯到做一个电子时钟了,其实单片机编程比纯软件要简单很多,代码量也少很多,所以还挺好学的,只要你的学习路径正确。
个人定位,从事软件还是硬件?
一般实际工作开发一款产品的时候,绝对不可能一个人从头到尾把产品做了。一般有的人负责硬件部分、有的人负责软件部分,这也是单片机嵌入式开发的两大方向。
入行单片机开发,技能要有所倾向,将来要做硬件工程师还是软件工程师?
为什么要有软硬件之分呢?实际上大厂都是分工精细的,这样使工作内容流程化、简单化,提高工作效率。另外也提高了公司业务的稳定性,即使有人突然离职也不会造成太大影响。
有些产品光程序这块就够你折腾一个月了,如果你又做外壳设计,又做硬件设计,又做软件。等产品出来的时候,客户可能都不在了。
所以,一个产品,最低配也是一个硬件工程师和一个软件工程师。
一个全能的人,除非在行业深耕很多年,不然很难所有东西都学精,所以大多数都是只懂皮毛,能把东西做出来,但很难优化到专业的水平。
看完上面你是否已经知道,不管你想从事任何行业,首先定位是非常重要的。
在定位之前你必须要去了解这个行业的现状,有哪些职位?
那单片机开发的职业定位有硬件工程师和单片机软件工程师。
凡是我的徒弟,我都会建议他们从单片机软件开始,性价比最高!大家去招聘平台搜一下工资待遇就知道了。
当然硬件做好了,收入分分钟秒杀软件,但硬件做好还是很难的,至少不是你看视频和看书能做好的,而是要遭受无数实际产品的毒打。
而且现在电路集成化都很高了,新手从事硬件很难接触到核心的技术。
还不如先从软件开始,工资也高,反正做单片机开发,即便你做软件,也是天天在调硬件,调多了,你也就懂了。
搞硬件就不一样了,一般很难接触到程序上的东西,即便接触构不成体系。
学习内容
有了清晰的定位以后,我们接下来就要根据这个定位去制定我们系统的学习路径。制定学习路径的目的有2个:
-
避免走弯路
-
规划好时间,鞭策你执行
结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:
-
C51单片机/STM32单片机
-
C语言
-
能看懂原理图
-
基本焊接能力
下面说一下为什么很多人在开发板上把每个外设例程都学完了,但是还是感觉自己啥都不会?相 关文章: 为什么单片机学了很久还是不会做项目?
你缺乏的是一定的产品思维,就是实现一个功能的思路。要解决这个问题就是做项目,没有别的捷径。
老话说行百里者半九十,单片机外设、C语言、电路原理、焊接能力,实际上这些只是为上手项目做铺垫。
单片机外设的学习相对简单,买一个开发板,把每个外设的例程跑几遍之后心里就有个大致了解。把单片机的每个外设的实际应用场景你都亲手写一遍,下次你再碰到同样的功能需求时就知道怎么去解决了。 【付费】STM32嵌入式资料包