这个和单片机的硬件有关的,很多人是以8051的C语言开始学习的,8051的堆栈是程序自动分配的软件堆栈,理论上来说从030H到0FFH都可以作为堆栈,大概200层吧,那么在C中,大概就能嵌套200层,至少理论上来说是这样的
但别的单片机就不一样的了,有的是使用硬件堆栈,合泰单片机就是这样的硬件堆栈,有的型号只有4层硬件堆栈,也就是说最多只能嵌套4层,PIC的单片机也是大概如此,像这种硬件堆栈,而且只有几层堆栈的单片机,一般是不会嵌套的,函数的递归也是不允许的,就是中断函数里面都不用函数之类的要用到堆栈的语句 |