亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
MSP430F149的內部Flash結構及讀寫程序
[打印本頁]
作者:
51黑黑黑
時間:
2016-2-13 00:51
標題:
MSP430F149的內部Flash結構及讀寫程序
MSP430F149內部的memory結構,60K Flash+2KRAM。Flash分為主存儲區和信息存儲區,操作都一樣,只是主存儲區每個段512字節,而信息存儲區為128字節,方便擦寫。
當我們有數據要保存到Flash存儲器時,要先對目標段進行整段擦除操作,擦除操作使的對應段FLASH存儲器變成全“1”。應當注意的是,此flash的操作頻率為257kHz 到 476kHz,時鐘源可選擇,因此我們做時鐘分頻時應當保證頻率在這之間,以下為我編寫的參考程序。
void Flash_erase(uint addr)
{//段擦除,512bytes一段
uchar s;
s=__get_interrupt_state();//保存當前中斷狀態
__disable_interrupt();
while(FCTL3&BUSY);
FCTL3=FWKEY;
FCTL1=FWKEY+ERASE;
*(uchar*)addr=0;
while(FCTL3&BUSY);
FCTL3=FWKEY+LOCK;
__set_interrupt_state(s);//恢復中斷狀態
}
void Flash_write(uint addr,uchar dat)
{//單字節寫入
uchar s;
s=__get_interrupt_state();
__disable_interrupt();
while(FCTL3&BUSY);
FCTL3=FWKEY;
FCTL1=FWKEY+WRT;
*(uchar*)addr=dat;
while(FCTL3&BUSY);
FCTL1=FWKEY;
FCTL3=FWKEY+LOCK;
__set_interrupt_state(s);
}
void Flash_read(uint addr,uint len)
{//讀取到數組,此處堆棧應改大
uint i;
for(i=0;i<len;i++)
*(R+i)=*(uchar*)(addr+i);
}
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1