完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在工程里定义数组变量(全局变量),在一定范围内不会影响。。但如果多定义几个(要使用到),编译的时候没有提示错误。但烧写进去显示不能用(FSMC接口)。网络上搜了一些,有的说是堆栈溢出。。。可我更改了堆栈大小,也解决不了。。。求助求助。。这到底是什么原因,怎么个思路解决。比如我需要A[28];可以用 ----》 改为A[50]就不能用了。。。但奇怪的是我手误输了A[200];反而可以用。。。。
|
|
相关推荐
6个回答
|
|
本帖最后由 wenyangzeng 于 2018-3-15 20:33 编辑
1、 由于楼主对数组类型的定义(uint8_t、uint6_t等等)未描写清楚,这牵涉到字节对齐的问题。如果A[]都是32位应该没有问题,如果是8位就有可能因对齐问题出现A[50]不能用。 2、这个“不能用”是如何不能用,楼主貌似没有表达清楚。“烧写进去显示不能用(FSMC接口)” ,到底怎样不能用,出现什么故障现象?还望提问能一次把问题的描写清楚。 |
|
|
|
|
|
|
|
|
|
|
|
全局变量不受任务堆栈影响,倒是有可能是数据对齐问题,还请楼主把问题现象描述具体点
|
|
|
|
这又不是结构体...你可以尝试调试,如果hardfualt,就可以看看是不是缓存的问题,如果是,那是有概率是对齐问题,使用自动对齐语句就好.你可以用IDE里面的memory看看你申请的东西.
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
806 浏览 1 评论
842 浏览 0 评论
MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
614 浏览 0 评论
自定义系统时钟频率后,用库函数和微带两种方式点亮LED灯,为什么灯的闪烁频率不一致?
1428 浏览 2 评论
1644 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 10:30 , Processed in 0.537336 second(s), Total 67, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号