|
1.硬件设计+PCB设计; m% ^+ F9 V$ I7 Q# g
这是你的基本功,也是你日后保证有饭吃的能力,要长期积累,不断学习提高./ r8 a+ Q" Q$ `- \- c q6 N
单纯做硬件设计或者单纯做PCB设计都会让你在某些方面知其然但不知其所以然,所以二者最好都做,一般小公司就这样
7 N- e5 C1 g' n% D% `7 T8 x2.单片机C编程
' z: c! v+ B0 H7 E+ e' i% L注意你的重点是理解单片机各个模块的功能原理,不是搞单片机开发,不是去写应用程序,那样你永远不是软件工程师的对手.
6 Q: o/ G( N& X& n( I' t( n2 d学习这方面的知识是帮助你更好的理解单片机的硬件电路,以及调试电路.比如软件工程师告诉你,单片机的SPI接口异常,那么如果你没有写过SPI的简单程序,只看Datasheet查找原因得话,会看的你一头雾水,而且你要用示波器等测试SPI接口发出的数据,事先得清楚如何控制这个接口,如何让它发送数据吧.当然你可以要求软件工程师这样做,但不仅繁琐,而且会被BS死
, M* D9 C! Z4 f! H5 V; }' _3. 嵌入式系统编程(汇编+C)
# P+ j' L( b5 K- j这方面比较难,但是你提高能力的关键.在满大街都是搞单片机的人这一客观事实前,想要钞票多多,就得提高难度了,当然你可以去搞什么芯片设计或者VHDL设计之类的,我只是说搞嵌入式设计- e2 D/ n, q2 c: O
还是那句话,你的重点是硬件设计,所以嵌入式编程也是为这一点服务的,不用去做操作系统设计或者应用程序设计,因为你没有那么多精力.当系统出现问题了,你得能查找原因,比如ARM9的芯片BGA封装,其中一个GPIO引脚虚焊,你如何确定?起码你得会编程(不要操作系统裸奔即可),会操作这个引脚.其他诸如SPI,IIC等常用模块,也要知道如何编程操作,以方便你调试电路.6 ?/ @/ u3 q4 C2 _2 I$ N9 H
|
|