首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请大家帮我看看我这个操作FLASH的代码有什么问题

单步可以点RUN就不行可能是因为flash读写是在高于芯片电源电压下进行的.这样会导致程序运行不稳定.你可以试一下将 // FSTAT=0x80; while(!(FSTAT&0x40));这两句转成机器码放入RAM中运行.

这是这两句的机器码const INT8U P[18] = {0x18,0x0B,0x80,0x01,0x05,0xF6,0x01,0x05,0x87,
0x87,0xC4,0x40,0x8C,0x00,0x00,0x27,0xF4,0x3D}. RAM中的这些机器码放入一数组中,flash擦写时调用就行了for (i=0; i<18; i++) PrgOfRam = P;当要执行 FSTAT=0x80; while(!(FSTAT&0x40));这两句时就换成asm("JSR PrgOfRam);就ok了.

返回列表