|
1.硬件设计+PCB设计 b# _2 G& s: h# `# `& K
这是你的基本功,也是你日后保证有饭吃的能力,要长期积累,不断学习提高.7 k0 X- m" k: ]3 T
单纯做硬件设计或者单纯做PCB设计都会让你在某些方面知其然但不知其所以然,所以二者最好都做,一般小公司就这样
5 E1 P# F1 X, |6 k2.单片机C编程' ]+ {5 a0 w/ O& H
注意你的重点是理解单片机各个模块的功能原理,不是搞单片机开发,不是去写应用程序,那样你永远不是软件工程师的对手.5 X0 G* Q7 i0 X
学习这方面的知识是帮助你更好的理解单片机的硬件电路,以及调试电路.比如软件工程师告诉你,单片机的SPI接口异常,那么如果你没有写过SPI的简单程序,只看Datasheet查找原因得话,会看的你一头雾水,而且你要用示波器等测试SPI接口发出的数据,事先得清楚如何控制这个接口,如何让它发送数据吧.当然你可以要求软件工程师这样做,但不仅繁琐,而且会被BS死
' @8 h1 Z# V- a* Q6 {3. 嵌入式系统编程(汇编+C)- a: c* T$ d- w! |" G& Z
这方面比较难,但是你提高能力的关键.在满大街都是搞单片机的人这一客观事实前,想要钞票多多,就得提高难度了,当然你可以去搞什么芯片设计或者VHDL设计之类的,我只是说搞嵌入式设计# [6 f% }( d" T7 e- y
还是那句话,你的重点是硬件设计,所以嵌入式编程也是为这一点服务的,不用去做操作系统设计或者应用程序设计,因为你没有那么多精力.当系统出现问题了,你得能查找原因,比如ARM9的芯片BGA封装,其中一个GPIO引脚虚焊,你如何确定?起码你得会编程(不要操作系统裸奔即可),会操作这个引脚.其他诸如SPI,IIC等常用模块,也要知道如何编程操作,以方便你调试电路.
# F0 n* x4 D0 Q2 B2 P |
|