单片机中软件堆栈与硬件椎栈的区别是什么?它们实现的功能是不是一样的?

现在单片机是不是都不怎么使用硬件堆栈了,都在使用软件堆栈吗?

哈!51系列可就是由软件可任意把堆栈区设在内部RAM中你安排的地,并深度还可根据你的编程风格调一下深浅,这可能就是你这说的软件堆栈吧,而PIC单片机可就不是这了,栈地址你没算动,栈深度是死的,老八级,这可能就是你说的硬堆栈吧.呵呵!不管是你说的那种,这堆栈都是片内的随机存贮器构成的.功能都是为了在发生突发事件要转地处理时或调用时机器自动保存返回地址用的,当然,你也可用它来传递数据.,
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-10
软堆栈是软件自己控制的,硬堆栈是通过寄存器和pop push弄得
硬堆栈效率高,而且当你处理函数调用或者中断时都会自动调用硬堆栈
为了防止你干扰硬堆栈,推荐自己实现软堆栈,否则很容易导致程序在返回函数时跳飞
相似回答