内存不足、栈溢出

使用51单片机开发会容易出现DATA区内存不足的情况,有时体现为某SEGMENT OVERFLOW。这个时候可以充分利用128字节的片外RAM,在定义较大的数据类型时在最前面加上idata,在后面的程序中直接调用就可以了。

另外经常会出现栈溢出的问题。如果在主函数中单独调用子函数不会出错,而在另一个函数,例如中断中调用就会出问题的话,这个时候编译会通过,但是仿真的时候就会看到出错了。这种情况多半是由于函数多重调用导致的栈溢出,解决方法是简化子函数的调用方式,或者直接地,把几个子函数写成一个子函数,然后在这个函数中使用goto语句,这样的话工作量会很大,但是成效应该是最好的。

转载于:https://www.cnblogs.com/viaduct/p/5883685.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值