找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机串口通信的程序,memory model设置成small正常,改成large就出错

查看数: 4406 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-14 10:02

正文摘要:

想实现电脑发送数据,单片机处理,返回电脑一个数据。用keil编译的时候,memory model 设置成small,可以通信,但是改成large就不显示数据,是什么原因? 单片机源程序: #include "reg52.h" #include ...

回复

ID:1034262 发表于 2022-10-15 12:53
如果修改为LARGE,编译后要保证xdata不溢出。造成运行异常的,多方是因为按KEIL的默认方式去访问,可能会导致形参、实参、指针等等没对齐所致,跟具体哪家的MCU没啥关系。
ID:883242 发表于 2022-10-14 23:28
small换成large可不是你在这里设置就能变大的,如果代码不改,能用到的RAM还会变小。

把不常用的变量尽可能改成xdata属性才能真正的节约内存。
ID:41347 发表于 2022-10-14 20:30
我也遇到同样的问题,有解决方案吗?
ID:329625 发表于 2018-5-14 15:28
不错  很喜欢
ID:47286 发表于 2018-5-14 12:17
不是什么原因 是STC片子设计时的一些设定 有些片子开什么都行 有些开多一点就不干活了 这和你使用的片子研发时的定位和考虑有关 找个能用的方式用就是了 如果你特想了解 看STC给的89c头文件 里边有各种内存的定义 再去查keil的内存设定 总能找出原因

89c52这么初级的片子基本上就是最基础的东西 我用11f04e的时候也是设定稍微超一点就不干活 有一阵用5608多 再用到11f04e的时候特别不习惯 这不行那不行的

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表