关于硬件堆栈!

[复制链接]
 楼主| 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系列,堆栈大小有扩展
wm20031015 发表于 2011-5-16 18:36 | 显示全部楼层
不错,用新出的PIC16F193x系列有16级堆栈,只要使用可重入函数,基本不用考虑堆栈问题,或者用18系列
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

主题

587

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部