?? flash.c.bak
字號:
/****************************************************************************\
文件名:flash.c
編寫者:czhang
描述:用于MSP430F149。
FLASH存儲器讀寫、擦除。時鐘源:MCLK 8MHz
版本: 1.0 2005-2-19
\****************************************************************************/
#include <msp430x14x.h>
#include "flash.h"
/***************************************************************************
段擦除
adr:要擦除的段內的任一地址
***************************************************************************/
void FlashErase(unsigned int adr) @ "MYSET"
{
unsigned char *p0;
FCTL2=FWKEY+FSSEL_1+FN3+FN4;
FCTL3=FWKEY;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
FCTL1=FWKEY+ERASE;
p0=(unsigned char *)adr;
*p0=0; //向段內地址任意寫,啟動擦除操作
FCTL1=FWKEY;
FCTL3=FWKEY+LOCK;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
}
/**************************************************************************
測試FLASH是否忙
返回值:1:忙 0:不忙
**************************************************************************/
unsigned char FlashBusy() @ "MYSET"
{
if((FCTL3&BUSY)==BUSY)
return 1;
else
return 0;
}
/**************************************************************************
字編程
Adr:要編程的地址,注意:不是指針類型,應當是偶地址
DataW:要編程的字
**************************************************************************/
void FlashWW(unsigned int Adr,unsigned int DataW) @ "MYSET"
{
FCTL1=FWKEY+WRT;
FCTL2=FWKEY+FSSEL_1+FN3+FN4;
FCTL3=FWKEY;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
*((unsigned int *)Adr)=DataW;
FCTL1=FWKEY;
FCTL3=FWKEY+LOCK;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
}
/**************************************************************************
字節編程
Adr:指向要編程的地址,注意:不是指針類型
DataB:要編程的字節
**************************************************************************/
void FlashWB(unsigned int Adr,unsigned char DataB) @ "MYSET"
{
FCTL1=FWKEY+WRT;
FCTL2=FWKEY+FSSEL_1+FN3+FN4;
FCTL3=FWKEY;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
*((unsigned char *)Adr)=DataB;
FCTL1=FWKEY;
FCTL3=FWKEY+LOCK;
while(FlashBusy()==1) //等待FLASH存儲器完成操作
;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -