wanglituan 发表于 2018-7-9 10:51:38

STC12LE5A60S2内部扩展RAM的使用问题

现在需要定义一个数组内数据要可变,unsigned char xdata table;数组内的数值默认为0,进入主函数后调用该数值也确实为0.
在程序运行中,更改数据的数值,按这样来赋值,table=0xff;table=0xff;table=0xff;
然后再调用数组的数值,发现上面的赋值没有成功,请确认应该怎么操作才行呢?

myxiaonia 发表于 2018-7-9 11:08:50

是不是有寄存器开关没打开啊

zqf441775525 发表于 2018-7-9 11:14:42

这样操作应该是可以的,我一直这么用的,没发现问题。你把table的size改小一些试试。

Fresh_Man 发表于 2018-7-9 11:27:48

我记得5a60s2的XRAM有700多byte的

wanglituan 发表于 2018-7-9 13:28:37

zqf441775525 发表于 2018-7-9 11:14
这样操作应该是可以的,我一直这么用的,没发现问题。你把table的size改小一些试试。 ...

table是ok的

huangyu_ninbo 发表于 2018-7-9 14:45:21

不会吧。我大量用S2的MCU,没有出现过这种情况。再检查下程序,或者做个最小程序测试下。

诺飞 发表于 2018-7-9 16:51:41

加 _at_ 指定地址试试,可能xdata前面被其他变量占用了,申请的数组超出范围了。还有种可能就是外部扩展RAM的寄存器开了,跑去访问外部RAM去了,检查AUXR寄存器的EXTRAM位是否为0。
页: [1]
查看完整版本: STC12LE5A60S2内部扩展RAM的使用问题