我写的51程序是不是跑飞了。

2020-01-20 19:13发布

我洗的程序硬件仿真是没问题的,下载到RAM为256的单片机,没反应,我在找了一个1KRAM的单片机,跟仿真一样,没问题。这是什么情况呢。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
44条回答
cn_badboy
1楼-- · 2020-01-24 23:15
cn_badboy 发表于 2014-8-10 10:05
如果已经全部指定为IDATA,编译器还自行产生了几个XDATA变量,就是RAM不够用了,想办法减少变量吧 ...

这个跟我设置keil的memory model是什么模式有关系吗?之前一直全部设置为large,听了你的改成small的,马上就不见了!
你说ram不够很奇怪啊,data才119,我用的ram是256的。变量也真的才那么几个!
会不会是编译器设置的问题?
rockyyangyang
2楼-- · 2020-01-25 01:52
程序运行中还需要RAM,程序嵌套越多,需要的越大,RAM接近用光,就算跑起来,某种情况下,也有堆栈溢出的可能。
cn_badboy
3楼-- · 2020-01-25 04:04
 精彩回答 2  元偷偷看……
rockyyangyang
4楼-- · 2020-01-25 04:45
单步仿真吧,看跑到哪里飞了
cn_badboy
5楼-- · 2020-01-25 05:01
cn_badboy 发表于 2014-8-10 11:42
单步仿真吧,看跑到哪里飞了

硬件单步仿真,或者全速运行都是没问题的。
关键就是下载到单片机就没反应了,
rockyyangyang
6楼-- · 2020-01-25 10:00
就是XDATA的问题了,很明显1K的RAM中是有XDATA的,256的没有。

一周热门 更多>