您的位置 首页 数字

MSP430F149的内部Flash

MSP430F149内部的memory结构,60KFlash+2KRAM。Flash分为主存储区和信息存储区,操作都一样,只是主存储区每个段512字节,而信息存储

MSP430F149内部的memory结构,60K Flash+2K RAM。Flash分为主存储区和信息存储区,操作都相同,仅仅主存储区每个段512字节,而信息存储区为128字节,便利擦写。

当咱们有数据要保存到Flash存储器时,要先对目标段进行整段擦除操作,擦除操作使的对应段FLASH存储器变满足“1”。应当留意的是,此flash的操作频率为257 kHz到 476 kHz,时钟源可选择,因而咱们做时钟分频时应当确保频率在这之间,以下为我编写的参阅程序。

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 *(R+i)=*(uchar*)(addr+i);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/260364.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部