~~~~~变量不能赋值,赋值老是FFH,内存足够

[复制链接]
2744|7
 楼主| hotpover 发表于 2007-12-28 18:49 | 显示全部楼层 |阅读模式
怪!!!!!!!!
1加1等于几 发表于 2007-12-28 19:48 | 显示全部楼层

举例说明

emailli 发表于 2007-12-28 20:48 | 显示全部楼层

用idata

有时候编译器会傻掉

但是电路板重新上电或者怎么的以后又好了

xdata有时候会存在这样的现象

特别是仿真的时候

但是,数据要是真的用到的时候又不会是0xff

具体为什么没有仔细研究过

只是暂时用idata解决了
computer00 发表于 2007-12-28 21:03 | 显示全部楼层

是不是你的硬件本来就没有XRAM啊

 楼主| hotpover 发表于 2007-12-28 21:28 | 显示全部楼层

~~

用xdata有问题(扩展的RAM有32K,足够的阿,怪!),改用data后ok
alphal 发表于 2007-12-29 09:56 | 显示全部楼层

我有时候也发现idata也好像不受控似的...

写数据好像写不进去,不过好像是用仿真器硬件仿真的时候会这样,看不到idata数据的变化,但程序还是会按正常逻辑执行,下载芯片也没问题.

idata似乎比较怪异,书上说data是前128字节,idata是全部256字节......是不是还有其它的一些特性?

我用的菊阳-E2100A仿真器.
mohanwei 发表于 2007-12-29 11:31 | 显示全部楼层

优化……只要在你真正需要这个变量的那一刹那,

值给你准备好了就没问题了。
westsfw 发表于 2007-12-31 20:31 | 显示全部楼层

呵呵

前两天刚遇到过这个问题,设了一个变量作为显示数据通过IO串行输出送去显示,前两位是计算得到的值,最后一位是直接赋的值,结果第三位在软件模拟的时候就是不变,但IO送数还是正常,后来看汇编时发现送数的时候和计算出来的结果用的不同的寄存器,真晕了,改xdata就能行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

431

主题

2397

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部