打印

关于硬件堆栈!

[复制链接]
3827|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccxlslr|  楼主 | 2011-5-16 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中档机只有8级硬件堆栈,是不是超过8级就不行了呢.用C语言,PICC
沙发
tcc8073| | 2011-5-16 11:06 | 只看该作者
中断和调用都需要用到堆栈,超过的话,那一定回溢出,程序就会出错误

使用特权

评论回复
板凳
NE5532| | 2011-5-16 12:21 | 只看该作者
C最终会被编译为汇编,一样的效果。

使用特权

评论回复
地板
yewuyi| | 2011-5-16 14:26 | 只看该作者
中档机只有8级硬件堆栈,是不是超过8级就不行了呢.用C语言,PICC
ccxlslr 发表于 2011-5-16 10:49


可以用PIC16F1XXX系列,堆栈大小有扩展

使用特权

评论回复
5
wm20031015| | 2011-5-16 18:36 | 只看该作者
不错,用新出的PIC16F193x系列有16级堆栈,只要使用可重入函数,基本不用考虑堆栈问题,或者用18系列

使用特权

评论回复
6
XIEYUANBIN| | 2011-5-16 19:53 | 只看该作者
PIC中档单片机硬件只有8级,如果你的函数调用超过8级,第一C编译器会报错,第二C编译器会把某些调用改成GOTO汇编出来,例如10,12系列的,只有2级堆栈,基本都是将调用改成GOTO来实现函数的调用,当然,这会导致程序编译后比较复杂,需要用软件来记住调用之前的PC地址.

使用特权

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

本版积分规则

个人签名:电位器,可调电阻,微调电阻就选BOURNS 3362 带刻度,温漂小于100ppm/℃。 http://www.szlcsc.com/search/global.html&global_search_keyword=3362%2520BOURNS

68

主题

586

帖子

3

粉丝