CH32V203最多可以嵌套多少级函数?
V203是V4B内核,硬件堆栈只有2级,不是很明白到底能嵌套多少级函数?
热门产品 :
CH397: 高集成度、低功耗USB网卡芯片
CH32V203最多可以嵌套多少级函数?
V203是V4B内核,硬件堆栈只有2级,不是很明白到底能嵌套多少级函数?
CH32V203中断最多两级嵌套。
也就是说中断里最多只能调用两级函数是吧?比如:
中断函数
{
a函数();
}
a函数()
{
b函数();
}
b函数()
{
b函数里不能再调用其他函数了,是这样的是吗?
}
我觉得是“中断”的嵌套,即中断1的ISR当中被更高优先级中断2打断,进入中断2的ISR中即达到2级嵌套。而一般的函数调用层数其实是受到堆栈限制的。
这里的理解有点偏差,CH32V203的中断最多两级嵌套与能嵌套几级函数是没关系的,默认的CH32V203栈大小是2048字节,理论上只要你嵌套的函数不会把栈用满就可以一直嵌套下去,但是在实际应用环境下还会有很多其他函数的的局部变量、被调用函数包含的局部变量,参数等等需要放在栈区,所以实际数值是有限的,具体能嵌套多少层跟你具体的程序有关,没有确定的数据。
好的,明白了,我平时用的OTP单片机,一般有8级硬件堆栈,那就只能调用最深就8个函数。