找回密码
 立即注册
查看: 256|回复: 6

向各位请教一个变量大数组的定义问题【已解决】

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-05-02 09:05:39

45

主题

176

回帖

1735

积分

金牌会员

积分
1735
发表于 2025-1-1 12:55:15 | 显示全部楼层 |阅读模式
我使用的单片机为STC8H8K64U-20引脚的D版芯片,程序中我想定义一个可以存放15000字节的数组(约14.6KB空间)并且可以随时修改数组中的数据内容,比如:
unsigned char date[15000];不知道这个单片机是否可以使用这么大的数组或者说要怎样弄才行,请各位指点!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

积分
990
发表于 2025-1-1 14:30:29 | 显示全部楼层
换芯片,AI8051U有32K的xdata,随便折腾。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-05-02 09:05:39

45

主题

176

回帖

1735

积分

金牌会员

积分
1735
发表于 2025-1-2 10:07:42 | 显示全部楼层
多谢各位的指点,明白了变量操作总是要在RAM中进行数组也是一样的,我原以为SRAM或许不同呢,再谢各位!!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-05-02 09:05:39

45

主题

176

回帖

1735

积分

金牌会员

积分
1735
发表于 2025-1-18 15:12:28 | 显示全部楼层
社区*** 发表于 2025-1-1 14:30
换芯片,AI8051U有32K的xdata,随便折腾。

@社区闲人 根据你的指点我换用擎天柱实验板做这个测试,但是使用超大变量数组的愿望仍然没能实现,我是在CPU 8-bit模式下用keil uv3编译做的实验,定义了数组u8 xdata date[15000];但是数组可用范围应该不超过[7000],后面的内容就见不到了,不知道还有哪里需要配置,希望能够指点一下或者推荐一个相关的例程。

点评

可以使用这样的方式定义数组: unsigned char xdata tmp[15000] = {0};  详情 回复 发表于 2025-1-18 15:52
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5454

积分

版主

积分
5454
发表于 2025-1-18 15:52:14 | 显示全部楼层
乐此*** 发表于 2025-1-18 15:12
@社区闲人 根据你的指点我换用擎天柱实验板做这个测试,但是使用超大变量数组的愿望仍然没能实现,我是在 ...

可以使用这样的方式定义数组:
unsigned char xdata tmp[15000] = {0};
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-05-02 09:05:39

45

主题

176

回帖

1735

积分

金牌会员

积分
1735
发表于 2025-1-18 16:18:08 | 显示全部楼层
王*** 发表于 2025-1-18 15:52
可以使用这样的方式定义数组:
unsigned char xdata tmp[15000] = {0};

好的,我试一试,但是我的程序头文件中有定义(延用老版本STC头文件中的定义)typedef  unsigned char  u8;所以我用了u8来定义的数组,另外我每次调用这个数组时都进行一次数组的初始化,如下:
u16 i;
for(i=0;i<15000;i++)
{
date=0xff;
}
所差的是我这个数组不能清零,只能用1来填充来清除原有数据,这样符合后面的写屏显的操作。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-05-02 09:05:39

45

主题

176

回帖

1735

积分

金牌会员

积分
1735
发表于 2025-1-19 21:19:14 | 显示全部楼层
乐此*** 发表于 2025-1-18 16:18
好的,我试一试,但是我的程序头文件中有定义(延用老版本STC头文件中的定义)typedef  unsigned char  u8; ...

单片机好用,程序配置没问题,问题出在数组的应用函数,经过认真调试已经可以愉快的使用这款内存空间很大的单片机了,终于可以对400*300(15000字节像素)UC**系列驱动芯片的墨水屏进行全屏可编辑图片的局部刷新了,真的很爽!
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 18:08 , Processed in 0.132246 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表