查看原文
其他

如何入门单片机开发?

前言

    作为一个嵌入式老司机,多年来跟单片机、Keil、C语言、AD、烙铁、风枪、示波器、电子元器件纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头发。

    当初熬夜点亮了一个LED,像这样一个个小小成就感让我砥砺前行。

    刚开始并不看好这个行业,事儿多工资少,需要不停地学习新知识。前几年熬夜焊板子,一边工作一边咒骂。

    多年后,庆幸有这一技之长,让我能吃饱饭、开上车,有个家庭。

刚毕业就转行

    当初是自学转行的,学的电梯专业,临近毕业20岁出头,精力旺盛没地方使,一块51开发板配一个视频教程,除了吃饭上厕所,寸步不离房间。

    入门的时候,我和很多新手一样,不懂电路,不懂编程,不懂单片机,对单片机开发的任何一个环节都充满了问题。

    好在学习能力还行,也有耐心,跟着视频一步一个脚印,看一个章节我就在开发板上试验一下。

    很快我就能从点灯到做一个电子时钟了,其实单片机编程比纯软件要简单很多,代码量也少很多,所以还挺好学的,只要你的学习路径正确。

个人定位,从事软件还是硬件?

    一般实际工作开发一款产品的时候,绝对不可能一个人从头到尾把产品做了。一般有的人负责硬件部分、有的人负责软件部分,这也是单片机开发的两大方向。

    入行单片机开发,技能要有所倾向,将来要做硬件工程师还是软件工程师?

    为什么要有软硬件之分呢?实际上大厂都是分工精细的,这样使工作内容流程化、简单化,提高工作效率。另外也提高了公司业务的稳定性,即使有人突然离职也不会造成太大影响。

    有些产品光程序这块就够你折腾一个月了,如果你又做外壳设计,又做硬件设计,又做软件。等产品出来的时候,客户可能都不在了。

    所以,一个产品,最低配也是一个硬件工程师和一个软件工程师。

    一个全能的人,除非在行业深耕很多年,不然很难所有东西都学精,所以大多数都是只懂皮毛,能把东西做出来,但很难优化到专业的水平。

    看完上面你是否已经知道,不管你想从事任何行业,首先定位是非常重要的。

    在定位之前你必须要去了解这个行业的现状,有哪些职位?

    那单片机开发的职业定位有硬件工程师和单片机软件工程师。

    凡是我的徒弟,我都会建议他们从单片机软件开始,性价比最高!大家去招聘平台搜一下工资待遇就知道了。

    当然硬件做好了,收入分分钟秒杀软件,但硬件做好还是很难的,至少不是你看视频和看书能做好的,而是要遭受无数实际产品的毒打。

    而且现在电路集成化都很高了,新手从事硬件很难接触到核心的技术。

    还不如先从软件开始,工资也高,反正做单片机开发,即便你做软件,也是天天在调硬件,调多了,你也就懂了。

    搞硬件就不一样了,一般很难接触到程序上的东西,即便接触构不成体系。

学习内容

    有了清晰的定位以后,我们接下来就要根据这个定位去制定我们系统的学习路径。制定学习路径的目的有2个:

  • 避免走弯路

  • 规划好时间,鞭策你执行

    结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:

  • C51单片机/STM32单片机

  • C语言

  • 能看懂原理图

  • 基本焊接能力

    下面说一下为什么很多人在开发板上把每个外设例程都学完了,但是还是感觉自己啥都不会?

    你缺乏的是一定的产品思维,就是实现一个功能的思路。要解决这个问题就是做项目,没有别的捷径。

    老话说行百里者半九十,单片机外设、C语言、电路原理、焊接能力,实际上这些只是为上手目做铺垫

    单片机外设的学习相对简单,买一个开发板,把每个外设的例程跑几遍之后心里就有个大致了解。把单片机的每个外设的实际应用场景你都亲手写一遍,下次你再碰到同样的功能需求时就知道怎么去解决了。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存