关于STC8H8K64U的XDATA 和 DATA 变量使用出错问题
使用STC8H8K64U的芯片做一个项目,在XDATA 使用空间到500字节以上时,出现了一个比较奇怪的现象,程序中的一个DATA里面的全局变量 ,在调用 XDATA 里面的一个全局变量时,数据值发出错,变成一个随机数值, 2个变量都有初始化,并赋值,变量都是定义为 unsigned long int 类型,运算时应该没有超出范围,然后我用STLINK进行仿真,仿真时数据一切正常。下载到芯片运行时就不行。目前做了如下改动后,数据运行正常了
1:把这两个变量全部放在内部DATA 里面,运行正常
2:把这两个变量全部放在XDATA 里面, 运行正常
虽然能用,但是问题还是没有找到
麻烦各位大神看看,这个情况,我是哪里出了问题,关键是仿真一切正常,没办法找到原因,谢谢大家!
【存储类型强制指定】:
unsigned char xdatak =0;
unsigned char idatam =0;
另外在KEIL关闭的情况下,用 STC-ISP V6.92F 重新添加下驱动
神农鼎 发表于 2023-11-17 12:52
【存储类型强制指定】:
unsigned char xdatak =0;
unsigned char idatam =0;
您好,重新添加了头文件到keil中,变量出错的问题好像没有,这是什么原因啊,能否说明一下,谢谢 怀疑是那个双数据指针不兼容,我们这双数据指针是后来发展的,KEIL那个是旧的 神农鼎 发表于 2023-11-17 17:31
怀疑是那个双数据指针不兼容,我们这双数据指针是后来发展的,KEIL那个是旧的 ...
好的,感谢您的指导!
页:
[1]