欢迎来到天天文库
浏览记录
ID:58821172
大小:97.51 KB
页数:98页
时间:2020-10-25
《MSP-EXP430Launchpad实验指南参考代码.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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光照度检测模块程序设计
2、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****************************************************
3、/#defineuintunsignedint#defineucharunsignedchar#defineSegA0x010C0#defineSegB0x01080#defineSegC0x01040#defineSegD0x01000#defineSegSize64/********************Flash初始化********************/voidFlashInit(){FCTL2=FWKEY+FSSEL_2+FN1;//选择SMLCK作为时钟源,二分频}/********************Flash检测忙**
4、******************/voidFlashCheckBusy(){while(BUSY==(FCTL3&BUSY));//检测是否忙}/********************Flash段擦除*******************/voidFlashErase(intSegX){_DINT();//关闭总中断FlashCheckBusy();//检测Flash是否处于忙状态FCTL3=FWKEY;//lock=0开锁FCTL1=FWKEY+ERASE;//使能段擦除*((int*)SegX)=0x00;//段擦除--空写Flash
5、CheckBusy();//检测Flash是否处于忙状态FCTL3=FWKEY
6、LOCK;//上锁return;}/********************Flash写字节********************/voidFlashWriteChar(uintaddr,charwdata){_DINT();//关闭总中断FlashCheckBusy();//检测Flash是否处于忙状态FCTL3=FWKEY;//lock=0开锁FCTL1=FWKEY+WRT;//写使能*((uchar*)addr)=wdata;//将wdata存入addr变量
7、地址中FCTL1=FWKEY;//写关闭FCTL3=FWKEY+LOCK;//上锁return;}/********************Flash读字节********************/charFlashReadChar(uintaddr){charrdata;rdata=*(char*)addr;//读取addr所指地址的值returnrdata;}/********************Flash写字********************/voidFlashWriteWord(uintaddr,uintwdata){_DIN
8、T();//关闭总中断FlashCheckBusy();//检测忙,若忙,则等待FCTL3=FWKEY;//lock=0开锁FCTL1=FWKEY+WRT;//写使能*((uint*)addr)=wdata;//向地址addr处写入wdataFCTL1=FWKEY;//写关闭FCTL3=FWKEY+LOCK;//上锁return;}/********************Flash读字********************/uintFlashReadWord(uintaddr){uintrdata;rdata=*(uint*)addr;//
9、读取变量addr地址的值returnrdata;}/********************Flash修改字节********************
此文档下载收益归作者所有