[PIC®/AVR®/dsPIC®产品] 数组问题

[复制链接]
2240|6
 楼主| hwt1990114 发表于 2014-11-3 19:04 | 显示全部楼层 |阅读模式
我把数组定义在局部函数中,编译就会报错,把它设置成全局变量,就不会报错
lcofjp 发表于 2014-11-3 20:09 | 显示全部楼层
1. 要贴出错误提示;
2. 要贴出部分代码。
谈的元 发表于 2014-11-4 23:31 | 显示全部楼层
看楼上
Rain_King 发表于 2014-11-4 23:40 | 显示全部楼层
看2楼,其次,PIC单片机一般都是硬件栈,定义太大的数组,估计很难.............
wuhenyouyu 发表于 2014-11-5 12:52 来自手机 | 显示全部楼层
Rain_King 发表于 2014-11-4 23:40
看2楼,其次,PIC单片机一般都是硬件栈,定义太大的数组,估计很难............. ...

硬件堆栈是产生中断时候才用的,和定义数组大小有什么关系?
Rain_King 发表于 2014-11-5 22:22 | 显示全部楼层
wuhenyouyu 发表于 2014-11-5 12:52
硬件堆栈是产生中断时候才用的,和定义数组大小有什么关系?

局部变量都保存在栈上的...PIC没有软件栈(这里有点不太确定,应该是没有软件栈),那么也就是硬件栈了...
wuhenyouyu 发表于 2014-11-5 23:00 来自手机 | 显示全部楼层
Rain_King 发表于 2014-11-5 22:22
局部变量都保存在栈上的...PIC没有软件栈(这里有点不太确定,应该是没有软件栈),那么也就是硬件栈了.. ...

你一说,我还真想起来了,临时变量都保存在bank0,它的大小是固定的!一般都是把大数组定义为全局变量,基本没有定义局部变量的,除非用C++等高级语言。不过有个解决办法,在函数中动态建立数组,操作完再收回。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

51

帖子

1

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