MSP-EXP430Launchpad 实验指南参考代码附录本附录为 MSP-EXP430Launchpad 实验指南中各章节涉与示例程序的完整参考代码。目录第三章 13.513.64第五章 105.1.1105.1.2125.1.3135.1.4165.1.5175.1.6205.2.1215.2.2215.2.3245.2.4265.3.1285.3.2295.4.1295.4.2305.4.3335.5.1375.5.2415.5.3525.5.4525.5.553第六章 576.1.3576.1.4586.2.3616.3.3 光照度检测模块程序设计 646.4.3666.5.3726.6.3746.6.476第三章3.5Flash 使用的代码样例#include "msp430g2553.h"/****************************************************g2553 有 4 个数据段,每个数据段有 64bytes,共 256bytesD:0x1000 -- 0x003FC:0x1040 -- 0x107FB:0x1080 -- 0x10BFA:0x10C0 -- 0x10FF ****************************************************/#define uint unsigned int#define uchar unsigned char#define SegA 0x010C0#define SegB 0x01080#define SegC 0x01040#define SegD 0x01000 #define SegSize 64/********************Flash 初始化********************/void FlashInit(){ FCTL2=FWKEY+FSSEL_2+FN1; //选择 SMLCK 作为时钟源,二分频}/********************Flash 检测忙********************/void FlashCheckBusy() { while(BUSY==(FCTL3&BUSY)); //检测是否忙}/********************Flash 段擦除*******************/void FlashErase(int SegX){ _DINT(); //关闭总中断 FlashCheckBusy(); //检测 Flash 是否处于忙状态 FCTL3=FWKEY; //lock=0 开锁 FCTL1=FWKEY+ERASE; //使能段擦除 *((int *)SegX)=0x00; //段擦除--空写 FlashCheckBusy(); //检测 Flash 是否处于忙状态 FCTL3=FWKEY|LOCK; //上锁 return;}/********************Flash 写字节********************/void FlashWriteChar(uint addr,char wdata){ _DINT(); //关闭总中断 FlashCheckBusy(); //检测 Flash 是否处于忙状态 FCTL3=FWKEY; //lock=0 开锁 FCTL1=FWKEY+WRT; //写使能 *((uchar *)addr)=wdata; //将 wdata 存入 addr 变量地址中 FCTL1=FWKEY; //写关闭 FCTL3=FWKEY+LOCK; //上锁 return;}/********************Flash 读字节********************/char FlashReadChar(uint addr){ char rdata; rdata=*(char*)addr; //读取 addr 所指地址的值 return rdata;}/********************F...