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

FLASH烧写前后的获取值无变化????

你是用软件仿真还是硬件运行调试?对FLASH的操作有可能通过调试窗口无法正确观察到。可能FLASH并没有被正确地擦除和写入。
海纳百川  有容乃大
已经正确写入了怎么会读不出正确的值?!
海纳百川  有容乃大
对FLASH进行操作不会影响常量的地址。对FLASH进行操作时直接用地址值也是没问题的。不过你也可以换个地址试试?另外,FLASH有没有块保护?
海纳百川  有容乃大
如果还是不行,把你的project打包贴出来看看吧。
海纳百川  有容乃大
在上传文件名中最好不要用中文,否则链接有问题。
海纳百川  有容乃大
问题出在编译器把它优化了,直接用常数进行操作,所以体现不出FLASH内容的变化了。你可以在常数定义前加volatile说明,如下所示:

volatile const unsigned char F_address@(FLASHbaoaddress) = 8;
volatile const unsigned char F_QDtime@(FLASHbaoaddress+1) = 5;
volatile const unsigned char F_Gcircuit@(FLASHbaoaddress+2) = 150;
volatile const unsigned char F_Gnumber@(FLASHbaoaddress+4) = 1;
volatile const unsigned char F_phl@(FLASHbaoaddress+5) = 30;
volatile const unsigned char F_QZcircuit@(FLASHbaoaddress+6) = 250;
volatile const unsigned char F_LXcircuit@(FLASHbaoaddress+8) = 180;
volatile const unsigned char F_Vbfb@(FLASHbaoaddress+10) = 20;
海纳百川  有容乃大
非常高兴能对你有所帮助。你的程序本身写得还是不错的。

[此贴子已经被strongchen于2007-6-22 16:17:29编辑过]

海纳百川  有容乃大
返回列表