单片机IDATA区如何用

[复制链接]
6092|10
 楼主| shxhdly 发表于 2011-9-25 16:56 | 显示全部楼层 |阅读模式
我现在编程序 ram区128空间不够了 想用idata空间 哪位给提示一下 用C语言最好写个例子 谢谢了
 楼主| shxhdly 发表于 2011-9-25 16:57 | 显示全部楼层
用的单片机C51
chunyang 发表于 2011-9-25 23:56 | 显示全部楼层
直接将变量定义为idata性质即可。
PaperKite 发表于 2011-9-26 08:19 | 显示全部楼层
unsigned char idata ubTst;
没有xdata区吗?把变量定义到xdata区:unsigned char xdata ubTst;
内部ram尽量让它做堆栈区
 楼主| shxhdly 发表于 2011-9-26 08:58 | 显示全部楼层
4# PaperKite
没有外部的xdata区
 楼主| shxhdly 发表于 2011-9-26 09:00 | 显示全部楼层
3# chunyang
怎么编程序  我这么写不行呢
float  *pi;
float   i;
void main()
{
pi=&i;
.......
}
然后我在程序里直接用*pi可以吗
hjs1618 发表于 2011-9-26 10:40 | 显示全部楼层
PI是指针变量,*pi是变量的地址
 楼主| shxhdly 发表于 2011-9-26 16:35 | 显示全部楼层
各位  有没有好一点的程序例子
jack.king 发表于 2011-9-26 17:42 | 显示全部楼层
直接定义数据的时候
uchar idata a;
uchar idata pointer[21];
流行音乐 发表于 2011-9-26 20:57 | 显示全部楼层
怎么编程序  我这么写不行呢
float  *pi;
float   i;
void main()
{
pi=&i;
.......
}
然后我在程序里直接用*pi可以吗
shxhdly 发表于 2011-9-26 09:00

idata float idata * pi;
idata float i;
void main()
{
  i=0;
  pi=&i;
  (*pi)++;
}
我现在已经从 51 转到 STM8 和 STM32 了,再也不用这么用了,呵呵。
 楼主| shxhdly 发表于 2011-9-27 08:23 | 显示全部楼层
10# 流行音乐
非常感谢  只是我老师习惯用51
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

31

帖子

1

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