在程序的调试过程中,单个程序功能正常,合并在一起的时候发现程序无法正常运行。
注释部分代码正常之后调试发现 封装的函数出栈不一样。
最开始以为中断冲突。最后发现是堆栈溢出
1.堆栈溢出的表现
a->程序卡死原地不动,while循环也不执行,但是其他中断函数正常运行。
b->如果是封装的函数则函数会运行到该函数结尾之后卡死。
2.如何避免堆栈溢出
a->我出现的原因是向一个固定大小的空闲写入了过多的数据
b->若申请的空间大于了硬件的saram 空间 也会导致堆栈溢出
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_43519774/article/details/145288085
|