This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FLASH 写操作

我看到书里有下面的程序:

void write_SegA(unsigned char value)
{
unsigned char *Flash_ptr; // Flash指针
unsigned int i;
Flash_ptr = (unsigned char *)0x1080; // 初始化Flash指针
FCTL1 = FWKEY + ERASE; // 允许擦除
FCTL3 = FWKEY; // 解锁
*Flash_ptr = 0; // 空写,启动擦除
FCTL1 = FWKEY + WRT; // 允许写
for(i =0;i < 128;i ++) // 循环写信息段A的128字节
{
*Flash_ptr++ = value;  ????
}
FCTL1 = FWKEY;
FCTL3 = FWKEY + LOCK; // 锁定
}

我的问题是:在循环写FLASH时可以连续写吗?不要等BUSY位为0吗?谢谢指点!

  • 在FLASH存贮器运行的写写程序可以连续写,每次没写完的时候其实cpu是停止等待的,不用查询busy位。

    另外,有些新的cpu例如G2系列和老的cpu的控制寄存器已经有所不同,具体您可以查看手册,到官方网站查找对应系列的指导手册。

    我记性差,应该是这样,仅供参考

    我也是新手时间不太长