打印

51堆栈大小的算法求助?

[复制链接]
839|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
18576478035|  楼主 | 2018-12-8 11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助51单片机的堆栈大小的算法,如果主程序中发生多级函数调用,比如说10层函数调用,此时进入一个中断(使用同一个寄存器组),堆栈大小是多大?10*2+15=35是这样吗?如果在进入中断中被另外一个中断优先级打断,此时的堆栈大小是多大?10*2+15+15?是这样吗?如果我的堆栈只有40个字节的话要怎么避免堆栈溢出的现象?????我在中断里面加上EA=0暂时关闭全局中断是不是可以避免堆栈溢出?

相关帖子

沙发
ayb_ice| | 2018-12-10 14:56 | 只看该作者
嵌套调用层数*2+中断嵌套数*13
比如10*2+2*13=46,10级调用,2级中断嵌套(不使用特定寄存器组情况下)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

187

帖子

2

粉丝