|
FCTL3 = FWKEY; // Clear Lock bit
FCTL1 = FWKEY+WRT; // Enable byte/word write mode
while (count > 0) {
while (FCTL3 & BUSY); // test busy
__data20_write_char(Flash_ptr++,*Data_ptr++);
//*Flash_ptr++ = *Data_ptr++; // Write to Flash
count--;
}
FCTL1 = FWKEY; // Clear write bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
这个官方代码操作实例的一部分;
__data20_write_char(Flash_ptr++,*Data_ptr++);可以实现对0xFFFF以上地址的读写操作;
但是使用该段代码无法实现对INFO A的写入;
原因就是 FCTL3 中一个LOCKA位,置位就行
FCTL1 = FWKEY+WRT; // Enable byte/word write mode
if((FCTL3&LOCKA)==LOCKA)
FCTL3 = FWKEY+LOCKA; // Clear Lock bit
else
FCTL3 = FWKEY;
while (count > 0) {
while (FCTL3 & BUSY); // test busy
*Flash_ptr++ = *Data_ptr++; // Write to Flash
count--;
}
if((FCTL3&LOCKA)!=LOCKA)
FCTL3=FWKEY+LOCK+LOCKA;
else
FCTL3=FWKEY+LOCK;
FCTL1=FWKEY;
这是写入内容功能代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|