你(们)好
我的英语不好
本文基于 Google Translator、因此请了解您的语法是否奇怪。
我将使用 MSP430的闪存。 但我并不完全理解如何使用它。
我每10秒写入一次数据、我认为由于编程/擦除耐久性、存在问题。
我按2个字节顺序写入闪存、当32KB 已满时、我将其删除并尝试写入新数据。
MSP430闪存的编程/擦除寿命是100、000倍。
msp430fe4272的闪存地址被称为0x8000 ~ 0xFFFF。 对吗?
2.我不知道当我擦除一个段或擦除整个段时、100、000次的次数是否会增加。
请查看此源代码。
void flash_erase (int *addr)
{
_DINT ();//禁用中断。 否则、这很重要、
//可能发生中断时正在进行闪存操作
//系统崩溃。
while (Busy & FCTL3);//检查是否正在使用闪存
FCTL2 = FWKEY + FSSEL_1 + FN3;// Clk = SMCLK/4
FCTL1 = FWKEY + ERASE;//设置擦除位
FCTL3 = FWKEY;//清除锁定位
*addr = 0;//虚拟写入来擦除闪存段
while (Busy & FCTL3);//检查是否正在使用闪存
FCTL1 = FWKEY;//清除 WRT 位
FCTL3 = FWKEY + LOCK;//设置 LOCK 位
_EINT();
}
上面的源代码是否正在擦除一个段? 或删除整个句段?
请告诉我如何一次删除整个句段。
并且、
定期写入2个字节的数据时、请提供一种有效的方法或示例。