OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4665|回复: 8

程序变量定义过多问题

[复制链接]

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-10-11 09:08:55 | 显示全部楼层 |阅读模式
5金钱
stm32f103c8t6,在主函数中定义了五个数组,每个数组含有96字节,发现无法进行正常液晶屏显示,液晶屏空白,将数组屏蔽掉两个,液晶屏能够部分显示,全部屏蔽,液晶屏显示正常;将数组定义在子函数中用于主函数调用,发现不管子函数中是一个数组还是五个数组,只要调用上电液晶屏就完全不亮,好像没有启动起来,在断电瞬间可能会闪亮一次,看到原子哥回答同类型问题时说把数组定义在函数外作为全局变量,试验后确实不受影响了,求解释此中原因?

最佳答案

查看完整内容[请看2#楼]

回复【8楼】augustedward: --------------------------------- Stack_Size      EQU     0x00000200                 AREA    STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem       SPACE   Sta ...
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2014-10-11 09:08:56 | 显示全部楼层
回复【8楼】augustedward:
---------------------------------
Stack_Size      EQU     0x00000200

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


;// <h> Heap Configuration
;//   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;// </h>

Heap_Size       EQU     0x00000000

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit
非常感谢指导,0x200即2*256不够大,改成0x400后就没问题了
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-11 09:12:24 | 显示全部楼层
看一下堆栈,是不是太小了。还有看看是不是内存占用太多了。
回复

使用道具 举报

1

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2014-3-12
在线时间
9 小时
发表于 2014-10-11 09:47:09 | 显示全部楼层
你把数组定义成静态的!
功夫再高、也怕羊刀
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-10-11 09:54:08 | 显示全部楼层
用UCOS的话可能是栈溢出了
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2014-10-11 11:26:01 | 显示全部楼层
回复【2楼】augustedward:
---------------------------------
这个是通过debug查看?好像是汇编的吧,求具体查看方法
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2014-10-11 11:26:26 | 显示全部楼层
回复【3楼】加速度:
---------------------------------
我试试
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2014-10-11 11:27:09 | 显示全部楼层
回复【4楼】聚东风:
---------------------------------
没有用到系统移植,只是stm32 IO口简单应用
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-11 11:48:54 | 显示全部楼层
回复【5楼】龙之谷:
---------------------------------
Stack_Size      EQU     0x00000400   //栈大小

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Heap_Size       EQU     0x00000200  //堆大小
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 10:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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