STM32F4开发板在液晶屏之前声明数组后不能显示

2019-07-20 22:23发布

stm.png

如图,在STM32F407探索者开发板上,调用LCD显示字符,如果在main函数里声明一个数组,当数组太大时(如图),就不能显示,
当把图中u16 temp[1000]={0};改为u16 temp[100]={0};时,又能正常显示了,有人知道这是什么原因吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xkwy
1楼-- · 2019-07-20 23:26
去startup**.s把Stack_Size调大一点就好了,、默认是1k,对你这个程序远远不够,光是那个数组就要近2k了

s.png


栈溢出问题往往十分隐蔽,而且现象甚是怪异,

建议:
1、谨慎在函数内定义大数组,尽量放到函数外或定义成static
2、调大Stack_Size,建议为内存的四分之一

a435262767
2楼-- · 2019-07-21 02:35
 精彩回答 2  元偷偷看……
龙之谷
3楼-- · 2019-07-21 03:02
栈溢出
三生石
4楼-- · 2019-07-21 03:15
 精彩回答 2  元偷偷看……
a435262767
5楼-- · 2019-07-21 07:41
非常感谢大家的解答!
豹影显示
6楼-- · 2019-07-21 10:43
厉害厉害

一周热门 更多>