光学的部分前几天已经发过一个帖子。如果感兴趣大家可以看看。 $Xq!L
Xh56T^,2
这个帖子想跟大家交流一下硬件和嵌入式的一些学习心得(这部分知识对于光学工程师不是必备的,学习可对整机系统集成有帮助)。 T=ev[ mS
H%D$(W
嵌入式学习要循序渐进,对于初学者。我走了不少弯路,最后还是从最简单的学起。51到AVR到ARM。要从51(典型芯片89C51芯片内有4KB EEPROM,若片内ROM不够用,也需扩展片外ROM。)入手,是因他很简单,管角功能十分简单,寄存器(中断、计时、电子沟)十分少,内部总线和时钟拓扑结构很清晰。可以帮助建立起初步的硬件概念,如果学习过c语言,看过51芯片手册,恰恰身边有一块开发板,马上就可以动手写程序。认识51要最为重要的是要认识开发板上的一些外围硬件,步进电机、移位寄存锁存器、温度传感器、蜂鸣器、EEPROM等等(了解他们最为直接的方法就是看硬件手册),这个过程中可以学习到pwm波(驱动步进电机和蜂鸣器)、ad和da转换(蜂鸣器)和一些接口时序(IIC、SPI等)。写一些简单的键盘扫描(去抖动)、液晶面板驱动、这种简单的驱动程序。学习51的过程收获很多,首先对时序有了清晰的认识,对驱动有了深刻的了解。任何系统(win、Linux)都要建立在可靠的、简单、高效的底层驱动基础上。51和外围电路的这种交互程序就可以认为是驱动。把驱动封装成统一的接口(api)交给系统然后由系统分配给每个程序进行应用,这样可以减少冲突和代码重复。 AK@9?_D
oq}'}`lw"
AVR(88芯片)的学习主要是为ARM学习做准备,AVR的管脚功能和ARM的十分像,管脚可以定义输出还是输入,数字还是模拟,带不带上拉和下拉电阻。对AVR的学习可以止步于此。 X&kp;W
&jmRA