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