以前学些过8962,觉得是一块很不错的开发板。学习8962的时候主要是使用8962制作一款“智能家居控制器”。之前我只用过8位的51单片机,相比于51,8962还是要难一点的,这主要是在8位到32位编程方法的转变上。学习的过程其实比较简单,主要经历了以下几个阶段:
1.点灯。8962上有几个LED灯。拿到板子的第一步就是做这步。点灯的原理其实很简单,当发光二极管正向有压降时LED灯就被点亮。所以我们只需要在相应的引脚上输出低电平即可。通过学习点灯程序,是我熟悉了MDK开发环境(其实和51一样的),了解了如何新建8962的工程,明白了如何操作32位的寄存器,学会了如何使用IO口,并且输出高、低电平以及配置PLL.
2.按键。这里讲的按键是用中断实现的按键。(普通IO按键其实上面已经搞定了)。中断在嵌入式系统中非常有用。所以必须学会如何使用中断。中断的种类有很多,像8962中就有定时器中断,定时器中断等等。当然,最简单的还是IO中断,所以我就利用按键来学习中断程序的编写。通过学习,了解了CORTEX-M3上中断向量的组成和结构以及如何编写一个中断处理程序。了解设置中断优先级等等。
3.时钟。现在的芯片很多用的晶振都是12M,8M的,但是其内部运行的频率都是72,80Mhz,是晶振频率的好几倍。这是什么原因呢?主要是因为芯片内部存在着时钟电路。通过这些电路能把晶振的频率翻好几倍。所以在学习完基本的操作以后,最重要的就是学习如何配置时钟。
4.看门狗。学习完上面两个阶段后后面就看具体需要了。不过一般来说看门狗还是需要的。看门狗原理其实很简单,到了时间喂狗就行了,这里面要牵扯到好几个寄存器,如watchdog load,value,control等等。只要能看懂英文,按照DATASHEET上的描述进行设置就可以了。
5.uart,串口。这是调试的必备端口之一。在写程序的过程中,有些程序是没有办法用调试器调试的,特别是在调试操作系统时。所以,在调试完基本的程序后就要把串口给调通,这样就可以在程序中加入串口输出函数,实时的输出当前程序执行的结果了。
6. timer和PWM。8962的定位是工业级应用。所以它的定时器和PWM功能是很强大的。使用PWM可以控制电机等各种需要脉宽调制控制的设备。这个阶段费了比较多的时间,主要还是要多看DATASHEET,多看光盘中的示例程序。
7.OLED。8962板子上有一块OLED屏幕。要在屏幕上显示必须弄懂它的原理。首先应该看OLED的DATASHEET。8962光盘上有OLED的程序,弄懂程序中的内容就应该没有问题了。
经过了这几步,8962基本上没有啥问题,下面就要看8962要去控制什么了,具体问题具体对待。
整个学习的流程图如下所示: