C8051F410 读写FLASH

shoushui2009 2010-08-25 02:57:02
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 下调试,运行到红色一行代码就暂停了,这是什么原因?
...全文
431 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoushui2009 2010-09-06
  • 打赏
  • 举报
回复
C8051F410 有这个功能
shoushui2009 2010-09-06
  • 打赏
  • 举报
回复
32K 程序存储区,不会全都用来存储程序,可以存储非易失性数据
wackestar 2010-09-01
  • 打赏
  • 举报
回复
你的程序可以被擦掉了。还怎么运行啊。
jackwini 2010-08-31
  • 打赏
  • 举报
回复
有可能程序被你擦掉了
shoushui2009 2010-08-25
  • 打赏
  • 举报
回复
PSCTL &= 0x00; // PSWE = 0; PSEE = 0
这句应该在下一行,没有被注释
shoushui2009 2010-08-25
  • 打赏
  • 举报
回复
期待解答...

27,381

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧