你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
关于定义数组变量,影响到液晶显示导致死机。求助
[复制链接]
binqiang
提问时间:2018-3-15 20:01 /
问答
是否解决:
在工程里定义数组变量(全局变量),在一定范围内不会影响。。但如果多定义几个(要使用到),编译的时候没有提示错误。但烧写进去显示不能用(FSMC接口)。网络上搜了一些,有的说是堆栈溢出。。。可我更改了堆栈大小,也解决不了。。。求助求助。。这到底是什么原因,怎么个思路解决。比如我需要A[28];可以用 ----》 改为A[50]就不能用了。。。但奇怪的是我手误输了A[200];反而可以用。。。。
赞
0
收藏
2
评论
6
分享
发布时间:2018-3-15 20:01
举报
请先
登录
后回复
6个回答
wenyangzeng
回答时间:2018-3-15 20:30:18
a0a.1 32b0c
本帖最后由 wenyangzeng 于 2018-3-15 20:33 编辑
1、 由于楼主对数组类型的定义(uint8_t、uint6_t等等)未描写清楚,这牵涉到字节对齐的问题。如果A[]都是32位应该没有问题,如果是8位就有可能因对齐问题出现A[50]不能用。
2、这个“不能用”是如何不能用,楼主貌似没有表达清楚。“烧写进去显示不能用(FSMC接口)” ,到底怎样不能用,出现什么故障现象?还望提问能一次把问题的描写清楚。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
toofree
回答时间:2018-3-16 03:29:56
a0a.1 32b0c
发个工程上来吧,没遇到过你说的问题,要创造个一样的问题,难度太大了。
有工程的话,大不了,给你看汇编。
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
bargagebaobei
回答时间:2018-3-16 07:48:37
a0a.1 32b0c
1.如何定义的数组 数组类型没有说明
2.你是如何操作的数组也没说明白
3.请楼主贴代码 我们好看看怎么解决
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
dsjsjf
回答时间:2018-3-20 11:13:46
a0a.1 32b0c
全局变量不受任务堆栈影响,倒是有可能是数据对齐问题,还请楼主把问题现象描述具体点
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
butterflyspring
回答时间:2018-3-20 11:44:07
a0a.1 32b0c
这又不是结构体...你可以尝试调试,如果hardfualt,就可以看看是不是缓存的问题,如果是,那是有概率是对齐问题,使用自动对齐语句就好.你可以用IDE里面的memory看看你申请的东西.
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
无薪税绵
回答时间:2018-3-26 11:14:10
a0a.1 32b0c
我估计不是数组变量的问题,
是某指针未做错误处理,
导致指针跑错地方,影响了显示。
有时候,很容易被表象误导。
建议楼主仔细检查一下显示相关的代码。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
1、 由于楼主对数组类型的定义(uint8_t、uint6_t等等)未描写清楚,这牵涉到字节对齐的问题。如果A[]都是32位应该没有问题,如果是8位就有可能因对齐问题出现A[50]不能用。
2、这个“不能用”是如何不能用,楼主貌似没有表达清楚。“烧写进去显示不能用(FSMC接口)” ,到底怎样不能用,出现什么故障现象?还望提问能一次把问题的描写清楚。
评分
查看全部评分
有工程的话,大不了,给你看汇编。
评分
查看全部评分
2.你是如何操作的数组也没说明白
3.请楼主贴代码 我们好看看怎么解决
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
是某指针未做错误处理,
导致指针跑错地方,影响了显示。
有时候,很容易被表象误导。
建议楼主仔细检查一下显示相关的代码。
评分
查看全部评分