向各位请教一个变量大数组的定义问题【已解决】
我使用的单片机为STC8H8K64U-20引脚的D版芯片,程序中我想定义一个可以存放15000字节的数组(约14.6KB空间)并且可以随时修改数组中的数据内容,比如:unsigned char date;不知道这个单片机是否可以使用这么大的数组或者说要怎样弄才行,请各位指点! 换芯片,AI8051U有32K的xdata,随便折腾。 多谢各位的指点,明白了变量操作总是要在RAM中进行数组也是一样的,我原以为SRAM或许不同呢,再谢各位!! 社区闲人 发表于 2025-1-1 14:30
换芯片,AI8051U有32K的xdata,随便折腾。
@社区闲人 根据你的指点我换用擎天柱实验板做这个测试,但是使用超大变量数组的愿望仍然没能实现,我是在CPU 8-bit模式下用keil uv3编译做的实验,定义了数组u8 xdata date;但是数组可用范围应该不超过,后面的内容就见不到了,不知道还有哪里需要配置,希望能够指点一下或者推荐一个相关的例程。 乐此不疲 发表于 2025-1-18 15:12
@社区闲人 根据你的指点我换用擎天柱实验板做这个测试,但是使用超大变量数组的愿望仍然没能实现,我是在 ...
可以使用这样的方式定义数组:
unsigned char xdata tmp = {0}; 王昱顺 发表于 2025-1-18 15:52
可以使用这样的方式定义数组:
unsigned char xdata tmp = {0};
好的,我试一试,但是我的程序头文件中有定义(延用老版本STC头文件中的定义)typedefunsigned charu8;所以我用了u8来定义的数组,另外我每次调用这个数组时都进行一次数组的初始化,如下:
u16 i;
for(i=0;i<15000;i++)
{
date=0xff;
}
所差的是我这个数组不能清零,只能用1来填充来清除原有数据,这样符合后面的写屏显的操作。 乐此不疲 发表于 2025-1-18 16:18
好的,我试一试,但是我的程序头文件中有定义(延用老版本STC头文件中的定义)typedefunsigned charu8; ...
单片机好用,程序配置没问题,问题出在数组的应用函数,经过认真调试已经可以愉快的使用这款内存空间很大的单片机了,终于可以对400*300(15000字节像素)UC**系列驱动芯片的墨水屏进行全屏可编辑图片的局部刷新了,真的很爽!
页:
[1]