老古开发网首页
导航:老古开发网首页文章索引索引第24页文章分类单片机第2页→[关于idata 变量的定义]
| -文章搜索 - 最新文章 - |

第201篇:关于idata 变量的定义

发布时间:2001年6月6日 点击次数:6130
来源:   作者:
 
请问各位高手,我在写C51程序时,定义了一个char 数组,但是我想要将它放在高128位的
RAM,但是用仿真器观察内部RAM,发现编译器始终都将它放在低位字节,定义如下:
(char idata buff[25];)请高手指点。谢谢!!


在keil c51中,idata是指00-0xff的地址范围,并不是一定会放在00-0x7f,所以,当你的
程序中分配的变量没有超出0x7f时,idata变量也会定位于低128字节。当你的程序中分配的
变量已经超出0x7f时,idata变量会定位于高128字节,此时定义data型变量就会报存储器溢
出错误,因此你现在的情况是正常的。

欢迎进入老古论坛进行讨论
[单片机] 相关文章:
关于KEIL C51书哪里可以买到?
简介:
www.21ic.com 以及书店 上海科技书店有两本很好的书,一个是马忠梅的,一个是徐爱均的。 ......

c51编程,读端口,还要不要先输出1?
请问哪里有卖sst89c58?
c语言与单片机c语言的差异
我用的是ds80c320,怎样才能让keil使用 dual dptr 
 
下一个:[单片机]如果我想使2EH的第7位置1的话,用位操作可以吗?
简介:
现在对位操作指令我一些不太明白请各位多多指教: 如 SETB 07H 表示的是20H.7置1,对吗?(我在一本书上是这么看到的) 那么如果我想使2EH的第7位置1的话,象我举的这个例子怎么表示呢?谢谢! SETB 77H setb (2eh-20h)*8+7 20h-2fh每字节有8个可位操作(00h-7fh),其它RAM不可位直接操作 ......

上一个:[单片机]当定时器1(T1)用于产生波特率时,P3^5还是否可以用作正常的I/O口呢?

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:31毫秒