C8051F410 读写FLASH
C8051F410单片机,下面是擦Flash的函数代码:
void FLASH_PageErase (FLADDR addr)
{
bit EA_SAVE = EA; // Preserve EA
unsigned char xdata * pwrite; // FLASH write pointer
EA = 0; // Disable interrupts
VDM0CN = 0xA0; // Enable VDD monitor and high threshold
RSTSRC = 0x02; // Enable VDD monitor as a reset source
pwrite =(unsigned char xdata * ) addr;
FLKEY = 0xA5; // Key Sequence 1
FLKEY = 0xF1; // Key Sequence 2
PSCTL |= 0x03; // PSWE = 1; PSEE = 1
VDM0CN = 0xA0; // Enable VDD monitor and high threshold
RSTSRC = 0x02; // Enable VDD monitor as a reset source
*pwrite= 0; // Initiate page erase PSCTL &= 0x00; // PSWE = 0; PSEE = 0
P2=0x02;
EA = EA_SAVE; // Restore interrupts
}
在KEIL 下调试,运行到红色一行代码就暂停了,这是什么原因?