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