单片机职业发展:能做下去的都成牛人了,熬不动就辞职或者改行了
嵌入式硬件开发爱好者去哪的工作体验会比较好?
先认清自己的背景和能力,比如:
1、C基础如何?学了多少年?是自学还是正规培训?学历怎样?专业怎样?
2、对硬件了解怎样?能写多大规模的代码?
3、自己做过什么项目,对单片机的了解程度是仅限于操作5,1单片机上的LED灯的这种还是能自己写一个驱动?
4、嵌入式的领域分很多种,你属于那一块的?或者你爱好那一块?
以上的背景决定了你在什么层次、做什么工作、以及收入水平。
文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
特别强调一点的是,大多数自称“嵌入式开发工作者”的人,仅仅勉强算做“嵌入式开发爱好者”,这不是打击人,这是事实。
最低限度的说,如果你是完全自学的爱好者,那么唯一的途经就是去小公司培养经验(至少1至2年),找机会跳槽到大公司学习更多的东西。
小公司的优势是:你会被迫学习很多东西,干很重的活,劣势是:可能没人教你,你能接触的资源很有限。
大公司的优势是:能接触很多东西,资源丰富,甚至有好的培训流程,有人教你,劣势是:流程繁琐,制度太多。
大公司坑的地方在于,你进去以后很可能做一个螺丝钉很多年,因为你本身也没有多少经验,因此大公司的资源你未必能用的上。对个人的成长也不一定好。
如果你是一个正规院校毕业的本科、研究生,成绩优秀,那么到直接到大公司就好了,虽然流程很多、制度麻烦,但我相信强人最终是需要强大的资源做后盾的,大公司能提供这些。
有了这些前提,剩下的就是工作环境和钱的问题,当然,这是由前面你的水平决定的,如果基础太差,想挑个好公司恐怕没机会。
IT行业任何岗位都会有加班,加班程度视项目进度而定,所以,如果不想加班,恐怕没有什么岗位适合。
最后说说职业发展:能做下去的都成牛人了,很多人熬不动就自己辞职或者改行了,任何人在一个岗位上做上5年以上都会成为这个领域的专家,起码比菜鸟强的多,所以能发展到什么程度,看你能不能熬下去。当然了,就算是嵌入式行业,里面的领域也是很多的,如果5年经验分散在不同领域,那么就等于没有经验。
51作为学习入门,确实是最最基础的了,不过至少它可以让一个新手明白控制是怎么回事,反馈是怎么回事,程序是怎么下载进去运行,又是怎么控制到io输入输出的,如何去访问寄存器,掌握一套在嵌入式领悟最最基本的开发方法和学习思路。这部分如果有兴趣,建议学习时间不要超过两个月。
自己觉得能力高,天赋异禀的同学其实可以直接stm32,虽然他还是单片机。不过十年前我当初也是51入门的,乐此不疲。至于忽悠你什么协议,内核,我觉得让一个大一嵌入式新手学这些,无疑没有基础就想建高楼,所以踏踏实实从基础开始,大学就是注重基础,学习能力!
下面给大家科普一些单片机中断的相关知识点。
对于一般的指令集处理器来说,他是不具备产生和查询中断信号的能力的,一切都是靠另外一个中断控制器来管理所有中断,中断控制器可以接收外设传来的信号比如串口FIFO,然后将信号通过总线发送给CPU,CPU这时会先看看这个信号是不是被屏蔽了以及如果同时进来了几条中断信号,还会对其进行优先级判定,如果可以执行的话就会拿到中断向量表去进行比对,如果比对成功,就跳转至此信号在表里所对应的指令地址,在此期间,会对现场进行保留,以执行完中断程序后能够回到原来的地方继续运行。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取
既然CPU不能产生中断,那外部中断和内部中断是咋回事:
实际上,一般来说,咱们在使用51与STM32时所说的外部中断和内部中断都是一种中断,都是需要经由中断控制器来触发CPU运行中断程序,包括定时器中断、串口中断等等,EXIT中断引脚、复位引脚(外部中断),且严格来说,是不包含所谓的内部外部中断这些术语的,都应只称为中断。
可能会觉得定时器串口这些是在51之类的处理器内部产生的,就觉得其是内部中断,然而,这类处理器,是在内部集成了诸多外设的,比如定时器,串口,这些外设加上真正的CPU与其它控制器,共同构成了你现在看到的51芯片,它有一个专有名词,叫作MPU。
不过,也不能说CPU就不可以做一些事情来像中断一样打断程序运行,它有一种独特的功能,叫作自陷,和中断很像,也是通过在总线上产生一个信号来让CPU响应,但是它自己产生的,同样它也有相应的向量表,但是是不可被屏蔽的,自陷通常被用来处理错误,比如调用非法地址之类的。
好了,这期分享就到这里啦,觉得对屏幕前的你有帮助的麻烦一键三连,点赞收藏加关注哦
单片机牛人的成长回忆录:记下这些知识 总有一天你会用到
首先,自我介绍一下:电子工程师一枚,1988年生,11年毕业,在京工作五年,月薪20K。主要是因为自己比较懒,不愿意做比较累的工作,不然待遇还会更高,不过那样的话生活就没意思了,我喜欢慢慢的享受生活。我16年入驻快包平台,成为快包的优质服务商。到目前为止接过3个包,金额不大不小,个人独立完成,在赚点外快的同时找点自我满足感!
之所以把自己的经历写出来,一是无聊,最近在快包的项目刚刚做完;二是经常逛贴吧,在年轻人身上经常看到自己当年的影子,所以不希望他们走弯路。那么现在,就让时间回到2011年的夏天。
当时刚从大学毕业,专业是微电子学。严格地说,我的专业是制作芯片,而我现在的工作是应用芯片,已经走偏了。不过没办法,这个专业是学校新开的,各个老师都是学校东拼西凑过来的,那种感觉就像用韭菜和茄子做出来的大拌菜一样,吃起来怪怪的。我到快毕业都没想好该怎么找工作,刚好这个时候宿舍的一个哥们刚刚 参加了一个培训班回来。他觉得很好,于是跟我说:去MCU起航吧,那里还不错!
我就想无头苍蝇忽然遇到一扇窗户一样,毕业了家也没回,直接背上行李去培训部了。地点在燕郊的创业大厦,食宿条件很艰苦。住宿的地方是租的一个两居室,里面放满了上下铺,还有其他来参加培训的同学,他们来自各个地方。在之后的几个月里,我和他们结下了深厚的友情。
20个人,分成了四组,每组负责不同的项目。我在第一组,要做一个波形发生器出来;刚刚分到任务我有点晕,因为单片机我都还没摸过,就要做东西,这是不是有点不合适?虽然在大学里学过课程,但完全是理论课,东西都没见过,更别说做东西了。于是开始疯狂的找各种学习资料,刚开始各种看不懂,但是还是咬咬牙,开始搞了。
第一步,项目需求分析,为期一周。 带我的老工程师要求我们第一步先去做需求分析,知道自己负责的项目在市场上有没有空间,该如何定位,技术指标如何确定,原理框图如何绘制。
于是,我们开始了疯狂的.......上网,是的上网查资料。凡是和波形发生器相关的内容,都下载下来,然后共享。相关的厂家、型号、技术指标、设计方 案、参照代码、市场分析等等等等,就记得那段时间是很疯狂的一段日子。我们像公司员工一样签到、签退,却要比他们更辛苦,因为我们晚上11点才离开实验 室,是每天!大脑像运行到极致的CPU一样,用力的查看着每一条可能有用的信息,每一次呼吸都感觉自己很累,不确定今天能得到什么结果,也不知道明天会怎 么样。于是,我不停的喝水,让自己有更多的上厕所的时间,这样可以多休息一会儿。
每周休息一天,日子很累,但却充实。我已经明显感觉到和波形发生器相关的各种关键词都充斥在我脑子里了,DDS、频率范围、单极性波形、双极性波形、调节 精度、输出波形峰值等等。但这些还不够,因为我们得到的这些信息都是搜集来的,并不确定可行性。一切的一切,需要下周一老张审核我们的方案。而我们的心 态,也从最开始的畏惧,逐渐被越来越多的疑问代替,然后抑制不住的想知道答案。
第二步,开始动手?NO!带我的老工程师说去逛市场吧! What?我们愣了.....好吧,最后才知道,原来是去中发电子市场采购。可以这么说,在北京搞电子 的,没有人不知道中发电子市场,你能想到的一切器件,在这都能找到。于是,一群菜鸟,选了一个阳光明媚的日子,兴冲冲的来到了中发电子市场,任人宰割.......
第三步,用汇编语言熟悉单片机的基本功能。 是的,你没看错,是汇编语言!就是说,之后的项目也要用汇编去完成。当时没有想明白,但是当我一个月后熟练的掌握51的底层结构的时候,我已经有点懂了。先从ORG开始,然后是MAIN...再然后MOVE来MOVE去,别人怎么写,我就抄过来,背下来,然后反复写几遍,竟然就懂了。
从对单片机的一无所知,到跌跌撞撞不小心滚进单片机的大门,就这么发生了。那几天是异常兴奋的,我感觉我就是万能的神,我可以控制一切芯片。每段代码,我写了好多遍,然后又下载了好多遍,每一次成功、失败的过程都激励着我前进。
记得有一天在调试数码管,代码改了一下,重新烧录,结果整个电路忽然就不工作了。我愣了,不至于啊,改动不是很大,就算有问题,也不至于整个电路没反应。 于是我花了一个下午查看代码、检查电路都没找到问题。到了晚上,我想再下载一次试试吧,代码没动,烧录进去,结果忽然就好了。
我瞬间愣了一下,放佛想到了什么,马上打开AT89S52的器件手册(之前有粗略看过),第一页的一个参数解决了我的所有疑惑:该芯片的flash区擦写次数为10000次。换句话说,因为多次擦写程序,导致这块单片机的程序存储区寿终正寝,已经快被我玩死了!
这是我第一次感觉,虽然你找过很多资料,学习过很多知识,刚开始或许不觉得有什么用,但他一定会在你未来发展的路上起到一定的价值!!!
当时的我们,没有开发板,只有一块面包板。所有要用的东西,都是自己焊接的。可能耽误了很多时间,但是对后来工作中电路的检查能力,起到了很好的锻炼。这里还是要说一句:初学者少碰protues仿真,什么时候用?当你已经 完全学会单片机,在项目中要验证代码和原理可行性的时候再去仿真。想通过protues仿真来学习单片机,这真的是笑话了!
第四步,真的要动手开始做了。玩真的! 具体指标记不清了,大概是:4×4矩阵键盘控制,数码管显示,频率10HZ~1000HZ按键可控,三角波、正弦 波、方波可选。难点主要在频率可通过按键控制上,就是说从10到1000,我随便输入一个数字,输出端都要给出相应的频率。频率是通过定时器定时中断控制 的,这就要求有一个算法,能根据输入值,计算出每次频率更新时,需要赋给的定时器初值。这涉及到16位的除法运算,汇编里面的除法器貌似只有8位,不够 用。没办法,我们到处找16位除法的算法,最后用减法循环模拟了一个,效果还不错。
后面的事情,很顺利了。大家的项目陆陆续续都出来,然后坐在一起进行经验交流。还有件事比较重要,就是学习C语言。虽然汇编效率高,但毕竟移植性太差,已经慢慢没落了,而C语言的生命力还很强,很多地方都能用到。
学完C语言,开始接触AVR和430单片机。在51里面摸爬滚打了一个月,可以说,我们是把51揉碎了,一点一点学完的,跟那种自学,仿真,或者看视频的效果完全不一样。当我拿到430的开发板的时候,我只用了3天时间去熟悉它。前面一天熟悉开发环境和开发软件,后面两天看相关例程。因为我们学习过、动手过、实战过、焊接过、调试过,当我们再去看这些高级单片机的时候,真的是一种轻而易举、水到渠成的感觉。
总结:单片机入门可能比成长还要困难,刚开始的时候你可能摸不着头脑,就算看了很多学习资料也不会立即出结果,但是前期这些学习资料、基础经验的积累会在你成长的过程中逐渐显现出来,在日后的开发设计中发挥重要作用。所以,无论何时,都不要放弃学习的机会!
单片机学习资料强烈推荐,笔者精选了“单片机原理及应用”、“单片机c语言编程实例大全”、“十天学会单片机实例100”、“周立功写给学单片机年轻人的话”等学习资料,希望帮助更多的工程师学习成长!!
由于篇幅限制,资料内容就不在此一一列举啦!感兴趣的人可以在评论区直接回复“单片机学习资料+你的邮箱”获取资料~
相关问答
广东工业大学的数字媒体技术专业怎么样? 申请方[回答]首先课程设置参照以下:(大四基本是实习和做毕业设计)很明显这个专业就是黄色的艺术性质和蓝色的计算机性质混合起来的混种.所以专业目标就是要培养...
学自动化的学长学姐能给点考研选方向的经验建议吗? 申请方读研选择学校时还是要把学校的名气放第一位,但是这个学校的该专业也不要太差,起码要有博士点。例如,北大的自动化就不要报,实在太差了。机器人方面,...
MCS-51 单片机 编程题.GREATEQU30HLESSEQU31HORG0000HLJMPMAIN:ORG0030HMAIN:MOVA,40HCJNEA,41H,MAIN1MOVGREAT...
2014年通信方向考研学校实力排名- 汇财吧专业问答test通信行业牛人一大堆,通信抗干扰实验室可不是一般的虎胆港感蕃啡歌拾攻浆学校可...本科学的单片机,数电,模电,电磁场等。软件的话,主要是网络层编程,要求c++语言...
没有计算机学位证,自己学好编程有用吗?用人单位会要吗?作为一个从事了近10年的软件开发人员,我觉得我是有资格回答这个问题的。1.你说你没有计算机学位证,我不清楚你是什么学历,因为第一学历(本科)决定了你的起点...
十二年的寒窗苦就是为了考上大学吗?是为了考上大学,也是为了去认识更多的人,见识更多有趣的事物,实现自己的价值。1高中有个校友考上了北大医学院硕博连读,这是我们小县城第一个北大学生,全...