中易网

单片机堆栈溢出有哪些原因?

答案:3  悬赏:30  
解决时间 2021-04-18 14:52
单片机堆栈溢出有哪些原因?
最佳答案
我认为单片机堆栈溢出最重要的原因是我们编程序有问题,即在程序设计初期没有留出足够的空间供堆栈使用,堆栈一旦溢出程序一般会乱指,就是我们所说的程序跑分。一般我们不容许出现这个现象,因此我们在设计程序的时候首先要在内部RAM里开辟一段连续的地址当堆栈使用,且只能让它通过PUSH和POP指令进行访问,而且每次访问堆栈后注意别让堆栈溢出。
个人理解,呵呵如有错误或者不明白的地方,我们再一起交流共同进步。
全部回答
函数递归得太深,或者干脆就是个无限递归。 定义了一个很大的局部变量也有可能。
单片机堆栈溢出后会根据其位置会对运行产生不同程度的影响,或者进入死循环,或者出现不可预料的结果,如果没有开看门狗的话,复位的可能性较小。 一、如果栈顶设置在低位,比如二fh,预想堆栈空间比如一陆个字节,如果溢出,那么如果四0h开始被用户在使用的话,可能改变用户寄存器的值,这个影响是双方面的,一是改变了用户的运行结果,二是,当堆栈保存的是子程序地址的话,将出现不可预料的结果,执行完后将回不去了。 二、如果栈顶设置在高位,比如陆fh,如果溢出的话,那么后面压入堆栈的值将保存在一个虚拟的空间中,也就是吧0h之后的ram空间,这个ram空间是不存在的,因此会造成结果不正确,保存的是地址的话,也会无法回到保存位置
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ农场怎么搞出来?
脸明明很油,还长闭合粉刺,但我用泡沫洗面奶后
建两层楼房要多少钱?
网络打印机开一会后不能打印,只能断电一下才
宜兴中江物联网怎么样
氩弧焊机,气保焊机,电焊机,各有什么不同!
再留下来 资料到手了 要到北京办理签证
道德经,熟读。和深读有区别没?
景德镇陶瓷学院雕塑专业交换生
福清一光饼屋的电话号码是多少?
林简造型地址好找么,我有些事要过去
东风雪铁龙C2车质量怎么样呀?
苏式月饼特点 好吗
苦荞米哪里的好?小孩子可以吃吗?
电脑可以进家园吗?
推荐资讯
lol班德尔城帐号
谁会QQ空间小窝融图?
上海安亭到朱家角郁金香花园酒店怎么走
晋江龙湖镇经济怎么样啊??
父母反对的婚姻是该放弃还是该坚持
列举在ps中调整图像偏色的几种方法
民事法律行为有哪些分类
八个月的宝宝可以用橄榄油做饭吗
电信宽带1M升级到4M要多少钱
感情要如何才能长久?
南京江宁小孩想参加围棋比赛可以从哪里知道
小学生四年级读后感
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?