您好!
我们使用 MSP4305437A 在主存储器组30000-3fff 中写入一组日志。 我正在尝试在 ISR 例程中将一组日志写入和擦除到此位置。 每次出现中断时、我都会向该组30000写入几个字节、然后将其擦除、并再次重复此操作。 我正在使用以下代码进行擦除和写入。 当我写入和擦除日志时、该中断每16ms 出现一次。 我运行此代码几个小时、之后当我尝试读取位置30000-3fff 中的数据时、我希望它都是 FF、因为我会擦除它、 但我看到它在某些位置保存除 FF 以外的数据、例如 BF、F7等。
我想知道擦除是否失败、因为我已经多次写入和擦除、或者我尝试擦除和写入的方式是否有任何错误。
此外、所有代码都在闪存存储器中执行- 0x5C00至0xFFFF
闪存擦除:
//禁用中断
//禁用看门狗
flashPtr =(unsigned char*) 0x30000; //flashPtr 为 time unsigned char *
在 FCTL3中设置忙时//等待
FCTL3 = FWKEY;
FCTL1 = FWKEY + MERAS_L;
*闪存 Ptr = 0;
//在 FCTL3中设置忙时等待
FCTL1 = FWKEY;//锁定闪存
FCTL3 = FWKEY + LOCK_L;
//启用中断
此致
Lakshmi