樓主提到的芯片:HT48系列高性價比I/O單片機只有兩層硬件棧,如果做三層嵌套,當然會有棧溢出。
解決方案:消除> =3級嵌套(特別註意在中斷中調用)
當然,如果妳真的有充足的時間,足夠的硬件余量,優秀的編碼水平,可以根據棧的數據結構嘗試實現壹個軟棧。
-
雖然妳的說法有問題,但為了分,我還是說:
既然用了IIC,那麽堆棧消耗肯定很高,就別指望兩層堆棧的微控制器了。妳需要使用更多的堆疊微控制器:HT48R02N(6層)、HT48R54A(6層)、HT48R50A-1(6層)、HT48R502(16層)等等。
-
HT48R08A-1是兩層硬件棧。如果嵌套5-6層,肯定會出事。經過分析,有三種可能:
1.妳沒有用HT48R08A-1。
2.當妳的IIC軟件包實際運行的時候,沒有超出第2層的調用(雖然最高調用是第5-6層,超級隱患!)
3.妳判斷的5-6層嵌套其實只有2層(只有子程序調用和中斷響應才會產生所謂的“嵌套”)。循環之類的算不算“嵌套”?
祝妳好運!