以前学些过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要去控制什么了,具体问题具体对待。
整个学习的流程图如下所示:
[ 本帖最后由 jxndcl301 于 2011-10-8 21:48 编辑 ]
上面是我学习8962的基本过程,下面就讲讲我学习8962的方法和感受。
1. 需不需要使用8962的库?我没有使用8962的库,主要原因是我有一定的51基础,觉得直接操作寄存器比较好理解,也更能明白背后的原理性的东西。但是使用库的好处是有的。我有个同学是学习软件出生的,基本没有硬件的基础。从他的角度来看,使用库函数操作比较简单。所以我觉得如果想快速的开发用库是很方便的,如果有时间还是使用底层寄存器吧。
2. 如何看源码?阅读优秀的源码是快速学习的方法之一。很多人反映看不懂源码。那么怎么读源码呢?我推荐使用SOURCE Insight。 通过这个软件能够快速定位到每个函数的声明,实现及相关的上下文。当然,看源码要需要一定的经验,当你源码看多了就大概能猜出这段代码的含义了。
3. 多写代码,多练习。 我觉得至少要编5000行以上代码8962才算基本搞定。我用8962做智能家居控制器的时候从头到尾基本上用了5个多月。编写的代码不下10000行,所以要熟悉8962除了多练之外别无他法。
通过使用用8962开发板是我对LM系列MCU更加熟悉了。但在使用8962制作智能家居控制器的时候也碰到了很多问题,其中大多数是由于8962资源不够用所致。例如:8962开发板没有真彩色的触摸屏(我采用的是外接的办法,占用了8962大约22个io,还自行设计了一块转接板),无法播放音频(我采取的办法是外接VS1003模块),进行MP3软解压时占用了过多的系统资源等等。
希望能够用9B96重新设计一款智能家庭终端,参加TI 2011 MCU大赛。
主要功能有:
1. 做为网络上的主要节点,获取家庭中各个子节点的信息和数据,显示每个子节点的状态
2. 显示屏上列举当前的状态和信息。计划采用LM图形图像库来完成
3. 采用RTOS操作系统,确保了各项任务准确实时的完成
4. 尝试使用软件解码MP3,避免外扩VS1003模块。
5. 存储语音留言,待户主回家后自动播放。
6. 尝试实现网络收音机功能。
7. 尝试实现USB –KEY功能,只要在插入正确的USB-key时才能拥有最高权限,关闭智能家居中某些监控节点。
与以前8962实现的系统相比,至少有以下改进:
1. 所有需要点击的功能全部都在触摸屏上实现。避免了用杜邦线外扩导致的丑陋以及接触不良。并且以前用的屏幕很小只有2.4寸,基本看不清楚。
2. 实现录音,放音功能。软件解码MP3应该没有问题。
3. 加入了网络收音机功能。以前8962的板子没有放音功能,所以实现不了网络收音机。9B96功能更强,可以实现
4. 实现USB-KEY,使整个控制器更安全更合理。同时,也可以通过USB进行升级
由于TI大赛大概2月份举行,所以也只有5个月的时间,具体安排如下:
10月 熟悉开发板,主要是点灯,中断,按键,屏幕的操作等等。
11月 熟悉RTOS操作系统与应用程序的编写,熟悉USB。开始编写简单的任务
12月 把以前的代码移植过来,如FATFS代码等等,实现网络收音机功能
1月 组合前面所有的功能,系统测试。
2月 整理文档,准备比赛。
引用: 原帖由 boming 于 2011-10-9 15:47 发表
关注中.节点使无线传输数据??
引用: 原帖由 weirgu 于 2011-10-10 10:54 发表
用电力载波吧