MSP430中的Flash操作问题?

2019-03-24 14:07发布

void FlashErase()
{

uchar *p0;

FCTL2 = FWKEY + FSSEL_1 + FN3 + FN4;//选择时钟源,分频

FCTL3 = FWKEY;//清除LOCK

while(FCTL3 & BUSY);//如果出于忙,则等待

FCTL1 = FWKEY + ERASE;//使能段操作

p0 = (unsigned char *)0x1080;//数值强制转换成指针

*p0 = 0; //向段内任意地址写0,即空写入,启动擦除操作

FCTL1 = FWKEY;

FCTL3 = FWKEY + LOCK;

while(FCTL3 & BUSY);

}
所有的资料上都说擦除最小单位是一段,并且擦除后是置1的。而我执行这段擦除代码,结果在memory窗口中观察,只有一个地址0x1080是被擦除了的,并且不是置1,而是变成了0,不理解。求各位帮我解决啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
tyrone2497
2019-03-25 03:23
< :TI_MSP430_内容页_SA7 --> 我用的是MSP430F149。。。

一周热门 更多>

相关问题

    相关文章