C51的printf,为什么跟存储模式有关

[复制链接]
 楼主| nudf0009 发表于 2015-2-11 00:04 | 显示全部楼层 |阅读模式
如这语句,printf("the average of A is  %6.2f\n", average(pot_1,5));
在small模式中不通过,在large模式中通过。
 楼主| nudf0009 发表于 2015-2-15 15:59 | 显示全部楼层
本帖最后由 nudf0009 于 2015-2-15 16:02 编辑

在进行软件仿真时,要工作在compact或者larger模式。在small模式,软件仿真时,不行,不知道错在那里?显示错误信息如下:*** error 65: access violation at I:0x81 : no 'write' permission
airwill 发表于 2015-2-15 23:05 | 显示全部楼层
small模式, 内存变量默认分配的 256字节的 RAM 中, 估计这么点内存空间实在倒腾不过来吧
 楼主| nudf0009 发表于 2015-2-16 08:51 | 显示全部楼层
本帖最后由 nudf0009 于 2015-2-16 09:09 编辑

compact模式也是256B内存,为什么可以运行呢?求解!
 楼主| nudf0009 发表于 2015-2-16 14:46 | 显示全部楼层
问题已经解决了,是堆栈越界,内存不足造成的,将器件改为52就运行通过了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

157

帖子

0

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