经过前一段时间研究,算是把TI的片内温度测量例程基本搞懂了。眼看着所剩时间已经不多,虽然还是感觉没到开发自己的程序的时候,但也不得不硬着头皮尝试着来添加自己的应用了。所以,昨天早上起床后,我就开始试着开发自己的应用程序了。
申请开发板时设想的功能是通过DS18B20温度传感器来采集环境温度,再通过ez430的ED端将温度数据无线发送给AP端。所以,首先要做的就是实现在ED端上添加基于DS18B20的温度传感模块。这个倒不太难,网上搜索了一下,关于DS18b20的开发例程还是蛮多的。我就参照DS18b20的datasheet和一些例子,自己设计了一个简单的温度传感模块。模块就是用一小块面包板焊成的,如下图:
由于在下几乎没有焊接经验,所以,有些惨不忍睹,见谅,见谅···
就这一项工作就花了我一上午的时间,下午因为有课,就没来得及研究程序了。吃过晚饭后,我就立即开始研究如何在ED端的程序中加入温度测量功能代码。由于缺乏经验,这项工作研究了几个小时也没弄好,所以,就来到实验室熬夜了。不知不觉又到了凌晨,可是还是没能成功···
因为感到一筹莫展,越想越糊涂了,所以出去转了一圈。回来后也还是没啥灵感,就决定先放一放这个工作。想起来之前在读程序的时候经常对一些寄存器的功能和设置感到困惑,不如就来好好研究研究MSP430的寄存器相关知识吧。以下就是对MSP430f2274的寄存器的学习成果,其实就是从论坛里前辈们提供的MSP430f2274 user guide文档里整理出来的:(表格好费字节数!一层楼最多只能粘贴两张表格字节数就满了!所以不得不又占楼层了··· )
寄存器都是按模块分类的:
1,中断
/*中断使能1*/
#define IE1_ 0x0000
sfrb IE1 = IE1_;
#define WDTIE 0x01 /*看门狗中断使能*/
#define OFIE 0x02 /*外部晶振故障中断使能*/
#define NMIIE 0x10 /*非屏蔽中断使能*/
#define ACCVIE 0x20 /*可屏蔽中断使能/flash写中断错误*/
#define URXIE0 0x40 /*串口0接收中断使能*/
#define UTXIE0 0x80 /*串口0发送中断使能*/
中断使能IE1 |
UTXIE0 |
URXIE0 |
ACCVIE |
NMIIE |
|
|
OFIE |
WDTIE |
/*中断标志1*/
#define IFG1_ 0x0002
sfrb IFG1 = IFG1_;
#define WDTIFG 0x01 /*看门狗中断标志*/
#define OFIFG 0x02 /*外部晶振故障中断标志*/
#define NMIIFG 0x10 /*非屏蔽中断标志*/
#define URXIFG0 0x40 /*串口0接收中断标志*/
#define UTXIFG0 0x80 /*串口0发送中断标志*/
[
本帖最后由 wwh19910609 于 2011-6-14 15:14 编辑 ]