找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 45|回复: 5
打印 上一主题 下一主题

单片机学习心得

[复制链接]

157

主题

559

帖子

1198

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1198
跳转到指定楼层
1#
发表于 2016-7-4 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
写给爱好单片机以及正在学习单片机的同学们
% ~3 \3 R3 [4 E% A$ {5 n" w6 R1 J9 ?+ n% _! l
  6 F+ g( h7 e7 P
         刚才我看到一个帖子,回答了一个单片机学习者的问题。但是我个人觉得这个问题比较有普遍性,想谢谢自己的经历,给那些爱好单片机,以及正在学习单片机的朋友们。
- U( z8 j- X4 V0 A$ O& k4 ?          我大一的时候,就加入了学校电子实验室,学习51单片机,那个时候没日没夜的学单片机编程。从最简单的LED到后来的各种协议,用51单片机运用自如。后来上了大二,我记得那个时候正逢湖北省电子设计大赛,我有幸被选拔为参赛成员,由于大赛的规定,我不得不转入msp430单片机的学习。由于有熟练的51单片机的基础,所以在学习430的时候,上手很快。熟悉了430的寄存器,基本上就能够上手变成了,就这样,我学习了半年的MSP430单片机。4 L5 ^$ ]3 ]8 U1 q# a
          在学习单片机的同时,自已学习电路以及PCB的设计,从基本的模块到整个大的系统,自己都尝试做PCB。可以说PCB是我一直坚持学习的。从大一到大四,以至于现在我仍然设计一些PCB,但是相比于学校的,公司里面的更为复杂,要求更为苛刻。因为涉及到高频PCB布线,我就不详述了。总之,学习单片机的同时,硬件也在步步跟进。自己做开发板,自己做一些小玩意。
4 j- ]" U3 X; [) V  A' s4 z' m" n          后来,玩430觉得不过瘾,又买了PIC和AVR的开发板学习,可是学来学去,总是那么几个模块,那么几个协议。后来我自己尝试着做了一套AVR的开发板,花了一个暑假的时间,调通了所有的配套模块。当时是在大二下学期的时候,当时还准备把开发板发到淘宝去卖,后来发现,淘宝各种类型的开发板太多了,生活费都赚不来,所以,我把我那些开发板都分给了我的学弟们。后来想学习高速PCB设计,那时候有幸认识了黄文聪博士,是带我进入高频PCB设计的老师,不是他,或许我还永远停留在altiumDesigner的层面,在黄老师的指导下,我学习了cadence以及allegro PCB布线,学习了各种布线要求,以及DDR布线技巧,等长约束等各类约束技巧。以至于后来我大学找工作跟面试官谈起allegro 高速布线,面试官都有些诧异。
5 ]$ \4 h+ v. \) l: Z9 o# O          后来有幸认识了学校的一个教授,那个时候正是STM32正火热的时候,我第一次接触STM32,感觉很兴奋,当时学的STM32F103能够倍频到72M,当时学习用STM32驱动摄像头等各种模块,因为当时有一个小项目是做视频采集的。所以用51或者430基本上力不从心,速度太慢,刷屏超级慢。所以,我投入了很多精力去学习STM32。从基本的GPIO到各种协议的驱动。都一遍遍的看代码,写代码。那个时候有点傻,第一次学习STM32的时候,竟然是用寄存器编程的。那次写一个ADC的程序,光寄存器就是有好几十个。现在想想,悔不当初,用库开发又快。但是转念想想,学了寄存器也挺实用的。至少现在用库开发的时候,知道寄存器里面是怎么配置的。从大三上学期学习STM32一直到现在,敲过的代码不算少了。但是我总觉得还差点什么。% o( d- ?1 N1 \
          是的,还差点什么?我在大三的暑假的时候,在与带我的教授聊天中,我知道差点什么了。那就是算法,单片机的核心不是说你能如何熟练的玩转单片机。如何的熟悉每一个寄存器,每一个寄存器的地址。这些都不是的。我后来总结了一下,无论是51,,40,avr,pic,stm32。我们学习的时候,一开始就是点亮发光二极管。后来就是学习I2C,SPI等各种外设。但是驱动这些外设真的不难,有参考代码,有官方的数据手册,这一切都不是问题。特别是我现在工作之后,特别能体会到这点,单片机种类不限于多,在于算法的精。在公司,用什么型号的单片机,完全老大说了算,今天选飞思卡尔,明天用LPC的,后天又用英飞凌的单片机。等等,大学时间有限,你如何能学完所有单片机。单片机种类和型号那么多,你如何能记住全部的寄存器?
+ f/ N# i& v* ~# f          再谈谈找工作吧。
# @( C+ j8 H3 g6 C; L5 e: z8 T0 y          当时我满以为我精通4大单片机,4-6层PCBLayout,找工作应该很顺利吧?可是,却也有不尽如人意的时候。我面试的第一家公司是CVTE,广州视源。那待遇是没的说,我当时带着自己厚厚的一本项目集,第一轮面试的时候,我把项目集交给了面试的HR,面试竟然很顺利的通过了。大家都知道CVTE的要求之高,后来我如约收到了CVTE的专业笔试短信,我后来专心准备了一番,功夫不负有心人,笔试竟然过了,笔试考试的全部是模拟电子方面的内容,后来我在专业面试环节挂了。面试我的应该是一名技术大牛,跟我谈了很多的技术问题,我当时还自我感觉良好。最后一句话让我记忆深刻:我觉得你专业技术运用的不够灵活,就这样,我被淘汰了。$ k2 g+ a) M" s2 [
          之后,我又应聘了台达,应聘的方向是做电源。笔试面试都过了,后来连三方协议都签了,最后我还是违约了。我拒绝了台达,因为后来我发现,不是提供的研发岗位,只是跟我说以后能转研发岗位。我觉得不靠谱,就拒绝了。/ c! w, I1 Q" {' B: p. K$ N
          后来又陆陆续续面试过几家公司,有人家不同意我的,也有我不满意企业的。就这样来来回回折腾了一个月。由于找工作非常疲惫,当时打算,有研发岗就去。就这样,当时广州数控来武汉理工开宣讲会,我去投了简历,简历上明确写了岗位意向是研发岗位。后来如愿与广州数控签约了。  工作中,经常要设计PCB以及各类模块的调试,有的时候一些底层的代码也要自己写。但是单片机型号就不固定了。各种型号的都有。现在想起来,以前在学校的时候,把太多时间浪费在各种类型单片机的学习中去了。但是另一方面,各种类型的单片机的学习,增加了你在找工作中的筹码。
8 M. ~  U4 n$ ?           工作了这么久,想写点心得给未毕业的学弟们,也是我以前认识的一些误区,分享一下。: m2 Q: S" |* X6 X# G0 P
  6 N5 F1 J( Y: L0 r9 n, S  c- p; M& U+ R
      1、MCU学的种类不在于多,在于精,再设计过程中,什么样型号的单片机都可能被用到,在我看来,只要是不涉及加载系统的,单片机都一回事,从基本的51到ARMv7,没有本质区别。无非是资源的多少,处理速度的问题,以及开发调试便利性的问题。
' Z9 y- r/ z' |7 I& e2 l      2、要非常熟练基本的通信协议,了解本质和原理,I2C、UART、SPI、CAN、485等等这些最最基本的协议。不要纠结于是调试飞思卡尔某型号的SPI,还是STM32的SPI,亦或是MSP430的SPI等等。( m2 y! E& I/ w* j; _1 ]
      3、扎实的C语言基础,多把时间花在对C语言深层次的理解上,说实在的,用51单片机点一个LED,和你用ARM点一个LED,没有区别。切莫成为“一灯大师”。掌握单片机语法和算法,是最重要的。我记得以前在大学,单片机种类自学了很多,基本的51单片机、AVR,MSP430,PIC16F,STM32,现在想想,学的有点过了。单片机种类真的不是问题,重要的是算法。
) x5 W' X: D8 g# M) x3 v2 _, H+ J      4,模拟电子和数字电子,这个是最最基本的必须要掌握的。不要局限于课本,课本的知识只能应付考试,在工程设计中,课本上的内容完全不够用,建议买一些小日本或者美国佬编写的模拟电子的书。
2 }' n, ?9 J; @# f5 |. d& x      5,说到设计PCB的软件,入门用AD,想升级的使用PADS或者Cadence。如果还有用protel的,趁早转AD或者PADS。AD适合2-4层低速电路板设计,PADS在手机主板设计领域比较多(以前华强北的手机主板基本都是PADS画的),至于Cadence,中兴华为联想小米等公司现在主流设计软件,就不多说了。
( \( q5 @1 m2 v5 Q  C           最后我想说的是,学好技术,不会说工作不好找的。待遇不会差的。在大学里,不要太沉迷于单片机的设计,如果有精力,转嵌入式设计,或者安卓开发。这个以后是很好的发展趋势,需求量也大,我找工作那会,安卓开发人才急缺,如果你觉得搞安卓开发和嵌入式linux做不来,那就老老实实学好单片机和模电数电等硬件软件开发。3 S9 y( j% |+ @' a
我不知道有多少同学能够认真看完,这点文字敲了半个小时,想写点什么,但是有些话还是没有写出来,希望同学们自己体会。做技术贵在坚持,贵在积累。就像当时我面试的时候,有个面试官问我,焊接温度用多少合适,当时我自己用的焊台,所以能够脱口而出300-350。所以,希望大家在平时的设计中,多积累,多学习,多百度。! M6 M* g0 |; F3 b- {0 X
  3 P( t8 z* ]( W: I
  
7 U" I2 ?" ?# R$ \如果单做单片软件,目前相比来说,嵌入式软件相对于单片机软件来说,工作更有优势。但是有一点,技术道路,文凭永远是其次的,我的同事,有做FPGA的,有些嵌入式的,也有做硬件研发的,论学历,从专科到硕士都有,伦待遇,都不相上下,其实外面更看重的是动手能力,楼主现在可以一点点积累,技术积累的越多,以后的路越宽。! F4 Q3 S% O/ [% \* X
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

157

主题

559

帖子

1198

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1198
2#
 楼主| 发表于 2016-7-4 15:02 | 只看该作者
看贴学心得,回贴是美德2 D6 e( w! z- C! s8 h0 U  \  ^1 [

169

主题

582

帖子

1242

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1242
3#
发表于 2016-7-4 15:05 | 只看该作者
谢谢楼主的经验之道

245

主题

1028

帖子

1921

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1921
4#
发表于 2016-7-4 15:47 | 只看该作者
谢谢分享,必须赞一个~6 N2 z- G2 l6 _" Q$ r

163

主题

615

帖子

1265

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1265
5#
发表于 2016-7-5 10:37 | 只看该作者
支持楼主!加油0 s- `  `5 {0 j. M  J

159

主题

583

帖子

1229

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1229
6#
发表于 2016-7-5 10:44 | 只看该作者
谢谢分享,必须赞一个~
* I% y  B4 v6 }8 T. i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-15 19:33 , Processed in 0.059322 second(s), 31 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表