这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 怎么知道堆栈使用了多少?

共1条 1/1 1 跳转至

怎么知道堆栈使用了多少?

高工
2013-10-25 15:57:48     打赏

怎么知道堆栈使用了多少? 比如51单片机,怎么查看堆栈使用情况,有没有溢出?

最大堆栈=子程序调用最大级数+中断最大嵌套级数

分别计算中断级别 的最大堆栈,然后累加可确定

比如中断级别Z1的最大 的堆栈为A;

比如中断级别Z2的最大 的堆栈为B;

比如中断级别Z3的最大 的堆栈为C;

那么最多为A+B+C

或者用仿真器,进入调试状态即可看到所有SFR...

用keil也可以:

Keil 已经自动帮你计算了:sp_max = 使用过的最大栈顶记忆。

未命名.JPG

扩展阅读:什么是单片机堆栈?单片机堆栈原理




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]