|
1.硬件设计+PCB设计" {5 n) c! X6 t: f1 _
这是你的基本功,也是你日后保证有饭吃的能力,要长期积累,不断学习提高.; P, u- _ G" V3 I5 P
单纯做硬件设计或者单纯做PCB设计都会让你在某些方面知其然但不知其所以然,所以二者最好都做,一般小公司就这样
- |/ \; S* o9 ?, P6 Y# f* ~2.单片机C编程
- d; N( g4 y; R注意你的重点是理解单片机各个模块的功能原理,不是搞单片机开发,不是去写应用程序,那样你永远不是软件工程师的对手.- j% y( V/ ]# L! j2 n
学习这方面的知识是帮助你更好的理解单片机的硬件电路,以及调试电路.比如软件工程师告诉你,单片机的SPI接口异常,那么如果你没有写过SPI的简单程序,只看Datasheet查找原因得话,会看的你一头雾水,而且你要用示波器等测试SPI接口发出的数据,事先得清楚如何控制这个接口,如何让它发送数据吧.当然你可以要求软件工程师这样做,但不仅繁琐,而且会被BS死
; o$ x& f$ M4 |1 a1 k3. 嵌入式系统编程(汇编+C)9 u. v: X$ z7 I$ O% ~! {7 @
这方面比较难,但是你提高能力的关键.在满大街都是搞单片机的人这一客观事实前,想要钞票多多,就得提高难度了,当然你可以去搞什么芯片设计或者VHDL设计之类的,我只是说搞嵌入式设计
: I; [ }1 M2 t2 {! f! l' X还是那句话,你的重点是硬件设计,所以嵌入式编程也是为这一点服务的,不用去做操作系统设计或者应用程序设计,因为你没有那么多精力.当系统出现问题了,你得能查找原因,比如ARM9的芯片BGA封装,其中一个GPIO引脚虚焊,你如何确定?起码你得会编程(不要操作系统裸奔即可),会操作这个引脚.其他诸如SPI,IIC等常用模块,也要知道如何编程操作,以方便你调试电路.* G/ s5 [2 j7 I3 s5 f; {. p
|
|