這個和單片機的硬件有關的,很多人是以8051的C語言開始學習的,8051的堆棧是程序自動分配的軟件堆棧,理論上來說從030H到0FFH都可以作為堆棧,大概200層吧,那么在C中,大概就能嵌套200層,至少理論上來說是這樣的
但別的單片機就不一樣的了,有的是使用硬件堆棧,合泰單片機就是這樣的硬件堆棧,有的型號只有4層硬件堆棧,也就是說最多只能嵌套4層,PIC的單片機也是大概如此,像這種硬件堆棧,而且只有幾層堆棧的單片機,一般是不會嵌套的,函數的遞歸也是不允許的,就是中斷函數里面都不用函數之類的要用到堆棧的語句 |