打印

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

[复制链接]
1949|7
手机看帖
扫描二维码
随时随地手机跟帖
沙发
1加1等于几| | 2007-12-28 19:48 | 只看该作者

举例说明

使用特权

评论回复
板凳
emailli| | 2007-12-28 20:48 | 只看该作者

用idata

有时候编译器会傻掉

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

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

特别是仿真的时候

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

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

只是暂时用idata解决了

使用特权

评论回复
地板
computer00| | 2007-12-28 21:03 | 只看该作者

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

使用特权

评论回复
5
hotpover|  楼主 | 2007-12-28 21:28 | 只看该作者

~~

用xdata有问题(扩展的RAM有32K,足够的阿,怪!),改用data后ok

使用特权

评论回复
6
alphal| | 2007-12-29 09:56 | 只看该作者

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

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

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

我用的菊阳-E2100A仿真器.

使用特权

评论回复
7
mohanwei| | 2007-12-29 11:31 | 只看该作者

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

值给你准备好了就没问题了。

使用特权

评论回复
8
westsfw| | 2007-12-31 20:31 | 只看该作者

呵呵

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

431

主题

2397

帖子

1

粉丝