网站首页 > 学习心得> 文章内容

月薪9k电子工程师:我把单片机玩死了

※发布时间:2018-10-30 13:19:15   ※发布作者:habao   ※出自何处: 

  梦见偷东西被发现

  首先,介绍一下:电子工程师一枚,1986年生,09年毕业,在京工作四年,月薪9K。主要是因为自己比较懒,不愿意做比较累的工作,不然待遇还会更高,不过那样的话生活就没意思了,我喜欢慢慢的享受生活。

  之所以把自己的经历写出来,一是无聊,最近项目刚刚做完;二是经常逛贴吧,在年轻人身上经常看到自己当年的影子,所以不希望他们走弯。那么现在,就让时间回到2009年的夏天。

  当时刚从大学毕业,专业是微电子学。严格地说,我的专业是制作芯片,而我现在的工作是应用芯片,已经走偏了。不过没办法,这个专业是学校新开的,各个老师都是学校东拼西凑过来的,那种感觉就像用韭菜和茄子做出来的大拌菜一样,吃起来怪怪的。我到快毕业都没想好该怎么找工作,刚好这个时候宿舍的一个哥们刚刚参加了一个培训班回来。他觉得很好,因为刚好负责培训的张老师来学校讲课,于是跟我说:去MCU起航吧,那里还不错!

  我就想无头苍蝇忽然遇到一扇窗户一样,毕业了家也没回,直接背上行李去培训部了。庆幸的是上并不孤单,班里的同学凯凯、安保和超哥都一起去了。

  地点在燕郊的创业大厦,食宿条件很艰苦。住宿的地方是租的一个两居室,里面放满了上下铺,还有其他来参加培训的同学,他们来自各个地方。在之后的几个月里,我和他们结下了深厚的友情。

  20个人,分成了四组,每组负责不同的项目。我在第一组,要做一个波形发生器出来;凯凯在第二组,做一个具有IC卡读写功能的智能水表;安保在第三组,做一个带有语音提示功能的温度报警器;超哥在第四组,做一个按键可控的数字电源。

  刚刚分到任务我有点晕,因为单片机我都还没摸过,就要做东西,这是不是有点不合适?虽然在大学里学过课程,但完全是理论课,东西都没见过,更别说做东西了。我估计凯凯他们跟我一样心理犯嘀咕,搞不清楚什么状况。但想想之前来参加的宿舍那哥们,他基础跟我差不多,但是他能搞定,我应该问题不大,于是咬咬牙,开始搞了。

  第一步,项目需求分析,为期一周。老张(就是张老师,我们暗地里习惯称他为老张)在工作了近十年,各个公司都呆过,正规的,不正规的都熟悉,所以要求我们第一步先去做需求分析,知道自己负责的项目在市场上有没有空间,该如何定位,技术指标如何确定,原理框图如何绘制。

  于是,我们开始了疯狂的.......上网,是的上网查资料。凡是和波形发生器相关的内容,都下载下来,然后共享。相关的厂家、型号、技术指标、设计方 案、参照代码、市场分析等等等等,就记得那段时间是很疯狂的一段日子。我们像公司员工一样签到、签退,却要比他们更辛苦,因为我们晚上11点才离开实验 室,是每天!大脑像运行到极致的CPU一样,用力的查看着每一条可能有用的信息,每一次呼吸都感觉自己很累,不确定今天能得到什么结果,也不知道明天会怎 么样。于是,我不停的喝水,让自己有更多的上厕所的时间,这样可以多休息一会儿。

  每周休息一天,日子很累,但却充实。我已经明显感觉到和波形发生器相关的各种关键词都在我脑子里了,DDS、频率范围、单极性波形、双极性波形、调节精度、输出波形峰值等等。但这些还不够,因为我们得到的这些信息都是搜集来的,并不确定可行性。一切的一切,需要下周一老张审核我们的方案。而我们的心态,也从最开始的,逐渐被越来越多的疑问代替,然后不住的想知道答案。

  终于,开始方案审核了,老张让我们每人挨个了一下自己的需求分析。然后指出不足,顺便夸了几句,给我们增加了点信心。最后给出了完整的方案。

  第 二步,开始动手?NO!老张说,去逛逛城吧!What?我们愣了.....好吧,最后才知道,原来是去中发电子市场采购。可以这么说,在搞电子 的,没有人不知道中发电子市场,你能想到的一切器件,在这都能找到。而且,毕竟巧妇难为无米之炊,我们动手,总要有器件才行啊。所以,根据方案列出器件清 单。面包板有了,是老张提供的,别的东西自己解决。于是,一群菜鸟,选了一个阳媚的日子,兴冲冲的来到了中发电子市场,任人宰割.......记得那 天,我买完电阻,过一家二手仪器仪表的店铺,看着里面慢慢的仪器,不自主的就走了进去。老板以为我是某个学校的学生,随口跟我聊了几句,我问他二 手示波器多少钱,他说看情况,便宜的三四千,好一点的七八千。忽然心里一动,又问他有没有波形发生器,他说有,然后告诉我在哪,怎么用。我很认真的看了很 久,心想这就是我要做的东西啊。

  第三步,用汇编语言熟悉单片机的基本功能。是的,你没看错,是汇编语言!就是说,之后的项目也要用汇编去完成。当时没有想明白,但是当我一个月后熟练的掌 握51的底层结构的时候,我已经有点懂了。先从ORG开始,然后是MAIN...再然后MOVE来MOVE去,别人怎么写,我就抄过来,背下来,然后反复 写几遍,竟然就懂了。

  从对单片机的一无所知,到跌跌撞撞不小心滚进单片机的大门,就这么发生了。那几天是异常兴奋的,我感觉我就是万能的神,我可以控制一切芯片。每段代码,我写了好多遍,然后又下载了好多遍,每一次成功、失败的过程都激励着我前进。

  记得有一天在调试数码管,代码改了一下,重新烧录,结果整个电忽然就不工作了。我愣了,不至于啊,改动不是很大,就算有问题,也不至于整个电没反应。

  于是我花了一个下午查看代码、检查电都没找到问题。我问阿海,他瞄了我一眼说,你电有问题吧...我无语,我的电我清楚,不应该的。到了晚上,** 点的时候,我想再下载一次试试吧,代码没动,烧录进去,结果忽然就好了。我瞬间愣了一下,放佛想到了什么,马上打开AT89S52的器件手册,第一页的一个参数解决了我的所有疑惑:该芯片的flash区擦写次数为10000次。换句话说,因为多次擦写程序,导致这块单片机的程序存储区寿终正寝,已经快被我玩死了!

  现在还记得当时兴奋的感觉,可能是因为一群疯疯癫癫的年轻人凑在一起,所以学习的过程并没有觉得多累,反而很嗨。当时用的ATMEL公司的89S52单片 机,还是用并口线下载的。先从点亮LED开始,然后是蜂鸣器,串口扫描,串口中断,键盘和灯,键盘控制数码管,软件延时,按键消抖等等。随手放几个当年的代码,现在看来,真的是。

  当时的我们,没有开发板,只有一块面包板。所有要用的东西,都是自己焊接的。可能耽误了很多时间,但是对后来工作中电的检查能力,起到了很好的锻炼。因为我们手动焊接每一个LED,每一个电阻,每一个按键,接触了布局布线。所以导致我们对电的度非常高,在后来的工作中,检查故障电的时候可以很快推断出故障出现的。这是那些整天仿真万能的人体会不到的!!!这里还是要说一句,个人观点:初学者少碰protues仿真,什么时候用?当你已经完全学会单片机,在项目中要验证代码和原理可行性的时候再去仿真。想通过protues仿真来学习单片机,这真的是笑话了!

  第四步,真的要动手开始做了。玩真的!具体指标记不清了,大概是:4×4矩阵键盘控制,数码管显示,频率10HZ~1000HZ按键可控,三角波、正弦 波、方波可选。难点主要在频率可通过按键控制上,就是说从10到1000,我随便输入一个数字,输出端都要给出相应的频率。频率是通过定时器定时中断控制 的,这就要求有一个算法,能根据输入值,计算出每次频率更新时,需要赋给的定时器初值。这涉及到16位的除法运算,汇编里面的除貌似只有8位,不够 用。没办法,我们到处找16位除法的算法,最后用减法循环模拟了一个,效果还不错。

  最快的是阿海,波形发生器的每一步都是他先规划好,做出来,然后我们几个再去模仿。当然,不是单纯的复制。矩阵键盘的扫描上,我跟他的算法不一样,DAC0832的驱动电,我俩也各不相同。但是,不可否认的是,他给我树立了很好的榜样的力量,让我知道,这个方向,这个思是可行的。

  记不清哪一天了,是个下午。我愣愣的把示波器打开,检测输出波形,当看到正弦波断断续续输出的时候,我傻了,原来我真的可以做出来。而那一天,距离我们开始做需求分析,不到45天。

  后面的事情,很顺利了。大家的项目陆陆续续都出来,然后坐在一起进行经验交流。还有件事比较重要,就是学习C语言。虽然汇编效率高,但毕竟移植性太差,已经慢慢没落了,而C语言的生命力还很强,很多地方都能用到。

  学完C语言,开始接触AVR和430单片机。在51里面摸爬滚打了一个月,可以说,我们是把51揉碎了,一点一点学完的,跟那种自学,仿真,或者看视频的 效果完全不一样。当我拿到430的开发板的时候,我只用了3天时间去熟悉它。前面一天熟悉开发和开发软件,后面两天看相关例程。因为我们动手过、实战 过、焊接过、调试过,当我们再去看这些高级单片机的时候,真的是一种轻而易举、水到渠成的感觉。

  总结:很多人学51学的很仓促,觉得这是个很基本的东西,快没人用了,简单过一下就行。大错特错!上世纪80年代,intel将8051的内核技术转让给 各个厂家,这才有了现在的各种高级单片机。可以说430和AVR的内核都是51,只是多了一些寄存器和功能模块而已。记得逛一个论坛的时候,一位工作多年 的老工程师说了这样一句线,妙用无穷!现在我才有一点体会到这种感觉,可以这样说,如果你能把51单片机吃透,记住,是吃透,市面上的所有单片机, 你都可以信手拈来!

  大概是11月份,进入找工作的阶段了。说起来比较丢人,因为我性格上比较内向,面试的时候表现的不是很好,错过了一些机会。找到的第一份工作是在一家医疗 器械的小公司,月薪只有2500,因为当时已经毕业几个月了,不想再花家里的钱,所以有点着急。而且,试用的阶段也是比较戏剧性的。为什么?

  公司那边同意给我一个试用的机会,前提是把它们现有产品里面的一个bug改过来,限时一个月。当我打开他们的代码的时候,我乐了!为什么?可能这个问题对于别的新人来说很麻烦,但对我来说,太简单了。因为他们的代码竟然是用汇编语言写的!可能这就是吧。

  那个时候的我对汇编熟练到了什么状态?我可以看代码不需要注释!当然现在不行了,毕竟好几年没用了。也很感谢当时项目组的王公,帮我产品的原理图,我才能快速的明白电原理,另外,程序风格写的非常好。果然,半个月不到,问题解决了,我也顺利入职了。

  后面的工作,比我想象的轻松很多。因为公司小,产品单一,所以研发的事情一拖再拖。主要工作就是组装机器、产品配送、故障电调试、还有售后维修。周末偶 尔回到燕郊培训部,感受一下当初学习的气息,顺便拿几片不要钱的芯片。也会跟找到工作的同学聊聊工作的内容,发现各有搞笑和无奈的地方。

  培训部有一点很好,即使你离开了,想要什么资料,它都会帮你找来。记得10年初的时候想学一下cadence这个软件,问MCU起航的朋友有没有相关资 料。结果给我发过来一个2G的系列视频教程,是一个叫于博士的大神制作的视频教程,从原理图到PCB都有,把我乐坏了。因为当时这个教程在网上还没传开, 所以显得很珍贵。

  终于,待了不到一年,大概是2010年**月份。做够了文案整理和国标的研究,我感觉到了自己的退化,这不是我应该做的。于是我提出了辞职,裸辞,就是说 还没找好下家。刚好赶上当时换住的地方,一下子交了很多房租和押金,弄得自己很拮据。所以,这里各位,辞职以前,尽量找好下家,不然的话后果很严重。

  总结:1、很多人写程序风格很烂,什么注释也不加。这是很的,我可以负责任的告诉你,就算是自己写的代码,如果没有注释和良好的风格,三个月后,你自己也看不懂。这里贴一段当年入职时调试的代码,懂的人自然就懂了,知道写的风格有多好:

  2、小公司锻炼人,虽然待遇一般,但是接触的东西多。一旦你换到一个新的,你会发现你比别人已经优秀太多了。

  当时在网上投了很多简历,记得有一天面试回来在公交车上。手机忽然响了,接通以后是一个中年男人的声音:

  我愣了,心理纳闷,这是哪神仙在玩我啊,430用了好几个月,明明是单片机,怎么到他那变成DSP了。直接说他不对吧,肯定不合适,会让人很没面子,于 是问了问面试的地点,第二天就过去了。谁知道这一次,迎接我的,是一个超大的坑!坑爹的公司啊!当然了,这是后话,当时我的愿望还是很美好的。

  面试的过程很诡异,现在想想,他貌似没有问我什么技术问题,当时的场景更像是一个传销人员给我**。大致情况就是,他们公司之前是做工程项目的,比如修 什么的。企业很大,去年的利润是十几个亿。但是是劳动力密集型企业,现在想转做技术密集型,所以准备成立一个部门,进驻电子行业,将来你们都会成为这个部 门的。前期待遇不是很高,月薪只有2500,但是后面部门做起来......可以想象,没经过什么风雨的我,一下子就被那大叔的十几个亿吸引了,满脑 子都是钱,貌似没怎么考虑就答应了。

  第二天去他们办公室,心凉了一半。真的是个办公室啊,只有不到20平米,焊接的试验台都没有,只是一个茶几,放了一个尖嘴的烙铁。尖嘴烙铁,貌似只有 入门的学生或者修理工人习,正经调试电的人都是用平口烙铁的。里面三个人,一个叶工负责带头,两个小弟负责帮忙,其中一个人拿出本51的指令集,用 手指着一个指令问我这是什么意思,貌似是想考考我。我瞄了一眼,顺嘴一说,他就没话了。虽然过去一年有点懈怠,但基本功还在。

  当时貌似是在做一个单片机定时控制继电器的一个设备,想用弱电控制强电的开关。难度不大,主要是安全问题需要注意。据说去之前,两个小弟里面的一个已经做了快半年还没做好,用的还是51单片机。刘工(就是昨天面试我那个)问我:

  第二天我就后悔了,不是说做不了。正常的实验,是一点问题都没有的,问题是他这里不正常,什么都没有。没有示波器,没有试验台,没有面包板,没有下载线。仅有的一个烙铁还是尖嘴的,还有一些零散的电阻和LED,以及控制电要用到的器件。

  下载线我自己学习的时候买了一条,主要用他们提供的一块液晶。AVR单片机控制的,具体型号记不清了,不过底层驱动都写好了,我只负责应用。然后多出来的 几个引脚负责开关控制。总算在第十个工作日搞定了。这个时候,叶工有事请了半个月的假,又发生了一件让我想不到的事.....

  貌似聘请叶工的月薪是5K多一些,而我们几个人都是2.5K,然后刘工感觉我的工作能力可以顶替叶工,毕竟这十个工作日我解决了很多问题。而且那两个小弟也开始向我靠拢,于是,刘工私下主动辞退了叶工,这让我们很是诧异,原来商场如战场是真的.....

  后面的工作,进入了研发的节奏,这是我想要的。定时控制完了之后,有个项目,是要给一个仓库做一个温度检测系统。仓库很大,所以要用到zigbee技术, 放置许多无线结点,然后数据上传到电脑上。我对zigbee比较感兴趣,于是着重看了很多相关的东西。最后发现,这个技术对应到单片机上,只是一些指令的 控制,毕竟让一个单片机工程师整天研究通信频率、通信协议不太正常。于是刘工申请了几块模块,让我们进行测试。

  我选择了mega8做为控制核心,一是调试方便,二是芯片体积小,引脚少用到温度检测上比较合适,第三,mega8有SPI接口,直接就能驱动zigbee模块,省得模拟了。

  那两个小弟对此一片空白,于是我又去了一趟中发,买了几片mega8,焊接mega8的调试板,还有下载线,杜邦线。回来以后,又找了块黑板,给他们了一下mega8如何使用。戏剧的是,去年这个时候我还在苦逼的学习,今年已经可以给人讲课了。

  模块调试的很顺利,一个星期就调试通了,但是越来越感觉那个刘工人品有问题。之前辞掉叶工是一方面,后面许诺的很多福利都拿不到,然后又把销售和研发放在 一个办公室,我一天有三分之一的时间都在听那个销售哥们打电话,根本没办法正常思考,最坑爹的是工资要拖欠三个月才发。反应了很多次,无果。

  某天的一个下午,我给他们演示了如何把采集到的温度数据无线接收后,上传到电脑上,然后开始和软件部门的同事商量如何编写上位机收集串口数据的事情。刘工加入了我们的谈话,然后彻底毁了我对他的印象...

  软件部的同事之前只会从数据库,或者固定的文件读取数据,这次我把数据发到串口上以后,他们不会采集,或者说他们之前没做过类似的东西。

  我无语了,现在也想不起来那天是怎么结束的了,只是记得当时心里就累了,萌生了想走的想法,于是开始投简历。

  总结:很多公司习惯返聘一些退休的高级员工,他们回来工作不是为了钱,只是为了找点事情做,所以工资开的很低无所谓。但这对应届生就有一个不好的影响,公 司在招人的时候会说:我们这个德高望重的员工都拿这么点钱,你觉得你可以拿多少? 我相信很多应届生都不知道该怎么回答。

  另外,面试的时候千万不要随便相信一些不知名公司吹出来的牛皮,公司利润再多,发不到你手上也没用。而且,如果方便的话,可以适当要求参观下办公地点,一定要清楚地知道会不会拖欠工资。

  越往后面试,越会觉得面试很直接。为什么?公司找你来是做项目的,行就是行,不行就是不行。而面试官基本都是懂技术的,几句话就能问出你的深浅,你前面说 的再好听,技术不会别人也很难给你机会。因为你已经不是应届生了,没有培养的意义,所以,我们在工作的上,一定要学习不止,这样,当机会来的时候,你才 不会眼睁睁的看着它走掉。

  简单算了下,在第二家公司只待了三个月,zigbee的接触与一些网络协议是我最大的收获。我想找一个靠谱的公司,让我不用担心饿肚子,同时也能认真做一 些靠谱的研发工作。终于,有一家台资企业愿意给个面试的机会,我把这一年的收获整理了一下,对自己说了声加油,然后就去了!

  第二个星期,我拿到了这家公司的offer,月薪5K,五险一金都有。好吧,总算解决温饱了,剩下的日子可能会有些累,但总算是一个成长的过程,很庆幸之 前经历的那一切。最怀念的是当初的培训部,那里教的不光是知识,还有学习的方法。即使有些东西是我不会的,但如果我想去学,借助那里的资源和学习的方法, 我可以最快的速度学会。据说现在已经变成在线了,更适合广大的,但已经离我很远了。

  搜索爱板网加关注,每日最新的开发板、智能硬件、开源硬件、活动等信息可以让你一手全掌握。推荐关注!

  电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。

  RS232 标准是诞生于 RS485 之前的,但是 RS232 有几处不足的地方:接口的信号电平值较高,达到十几 V,使用不当容易损坏接口芯片,电平标准也与TTL 电平不兼容。

  对于电子工程师来说,以国际单位制(SI)的标准来测量温度,在测量晶粒热点、增加测量的准确性与加速测量流程方面特别有帮助…

  一提到智能家庭,大家可能首先想到的是各种大佬级公司搞的牛逼产品,或者说是创新产品。想想就觉得很复杂,有的用工控机,有的用树莓派,还有的用arduino,不管用什么,都绕不过服务器进行控...

  当无尽的加班,停不下来的报表轻轻的着你微贱的身体时,当每月看到工资单后那种忘穿秋裤的寒意袭来之时,你有没有想过,作为一个电子工程师,你到底有着怎样的一种酸爽的体验?