怎么知道堆棧使用了多少? 比如51單片機,怎么查看堆棧使用情況,有沒有溢出?
最大堆棧=子程序調(diào)用最大級數(shù)+中斷最大嵌套級數(shù)
分別計算中斷級別 的最大堆棧,然后累加可確定
比如中斷級別Z1的最大 的堆棧為A;
比如中斷級別Z2的最大 的堆棧為B;
比如中斷級別Z3的最大 的堆棧為C;
那么最多為A+B+C
或者用仿真器,進入調(diào)試狀態(tài)即可看到所有SFR...
用keil也可以:
Keil 已經(jīng)自動幫你計算了:sp_max = 使用過的最大棧頂記憶。
評論