[其他ST产品] 使用三维整型数组时,数组寻址失败。

[复制链接]
322|14
SocialButterfly 发表于 2025-11-12 10:46 | 显示全部楼层 |阅读模式
不知道这为什么会出错吗?程序就是无法将值写入数组中。但是我在调试时可以手动给数组赋值,但通过代码方式赋值却始终失败。


#define VBLOCKENTRIES 22
int16_t indexVDial = 0, ixVBFree = 0;

int16_t blocksSet[2][VBLOCKENTRIES][4];

blocksSet[indexVDial][ixVBFree][1] = 0x1000;   / Fails to write to array

duo点 发表于 2025-11-12 15:34 | 显示全部楼层
可能是数组越界导致的
elephant00 发表于 2025-11-12 15:35 | 显示全部楼层
虽然定义了足够的维度,但可能indexVDial或ixVBFree的值超出了范围。
flycamelaaa 发表于 2025-11-12 17:35 | 显示全部楼层
可能indexVDial或ixVBFree未被正确初始化,或者被修改了。
flycamelaaa 发表于 2025-11-12 18:38 | 显示全部楼层
三维数组可能占用较大空间,导致栈溢出。
jcky001 发表于 2025-11-12 19:39 | 显示全部楼层
可能存在编译器优化导致的问题,或者特定的编译选项影响了数组的访问。
onlycook 发表于 2025-11-12 20:40 | 显示全部楼层
检查数组定义是否正确,特别是维度大小。
powerantone 发表于 2025-11-12 21:42 | 显示全部楼层
可能栈溢出了吧
probedog 发表于 2025-11-12 21:42 | 显示全部楼层
将数组改为 static 或全局定义,避免栈分配
solty 发表于 2025-11-12 22:43 | 显示全部楼层
高优化等级可能导致编译器错误优化数组访问。尝试临时关闭优化
spicy 发表于 2025-11-12 16:24 | 显示全部楼层
硬件或内存权限问题。
stormwind123 发表于 2025-11-12 17:04 | 显示全部楼层
变量类型不匹配?
七毛钱 发表于 2025-11-12 18:15 | 显示全部楼层
可能中断干扰
内政奇才 发表于 2025-11-12 19:18 | 显示全部楼层
工具链Bug?
又见江南雨 发表于 2025-11-12 20:16 | 显示全部楼层
建议提供完整的代码上下文
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

70

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部