你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【请教】对数组赋值导致代码运行异常

[复制链接]
Leeru 提问时间:2017-12-20 09:19 /
阅读主题, 点击返回1楼
收藏 评论12 发布时间:2017-12-20 09:19
12个回答
Inc_brza 回答时间:2017-12-20 10:41:15
Leeru 发表于 2017-12-20 10:21
版主您好~
我這邊有試著把變數當作全域變數並且執行後是正常的
可是當我嘗試把變數宣告成float全域變數後

详细我不知道,全部定义成float内存消耗会很严重,自行理解"heap/stack"的概念,
FFT也不需要一个2KByte的float类型的数组吧?请自行参考其他的FFT的代码吧!
MrJiu 回答时间:2017-12-20 14:46:48
Leeru 发表于 2017-12-20 10:21
版主您好~
我這邊有試著把變數當作全域變數並且執行後是正常的
可是當我嘗試把變數宣告成float全域變數後

首先可以去了解一下什么是堆,栈,全局变量,局域变量这几个关系。。。
至于你这个问题,一般编译器设置的栈的容量在多少来着,搞忘记啦,而且是可以更改。。。栈就是用来保存局域变量的,当然了也包括压栈和出栈。。。你这
uint32_t Input_f32[2048];
uint32_t Output_f32 [1024];
两个局域变量太大啦,很显然栈溢出,如果在线调试的话,会看到直接进入HardFault_Handler中断,然后死循环。。。
maxtch 回答时间:2017-12-20 20:09:36
光这两个数组申明就吃掉了 12kB 的内存……你用的什么芯片,内存还够吗?有没有出现堆栈溢出?
12

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版