打印

C51变量定位

[复制链接]
2120|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xzy568|  楼主 | 2011-2-21 22:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liguohuihui| | 2011-2-22 00:07 | 只看该作者
ding

使用特权

评论回复
板凳
coody| | 2011-2-22 00:24 | 只看该作者
为何如此用?不用指针?

使用特权

评论回复
地板
ayb_ice| | 2011-2-22 08:29 | 只看该作者
编译器会把堆栈定位在所有变量之后,你把aa放大0xff处,请问堆栈定位在何处呢...

使用特权

评论回复
5
chen3bing| | 2011-2-22 08:37 | 只看该作者
改变一个地址试试。

使用特权

评论回复
6
xzy568|  楼主 | 2011-2-22 13:34 | 只看该作者
主要是STC在这个地址有值可读,所以这样用,不想用指针来做
有没有什么好的方法,不用指针的话

使用特权

评论回复
7
xwj| | 2011-2-22 13:38 | 只看该作者
自己去打开Keil自带的“ABSACC.H”看看

使用特权

评论回复
8
ayb_ice| | 2011-2-22 14:53 | 只看该作者
换个地址就行了,建议至少放在0xff-64之前

使用特权

评论回复
9
makesoft| | 2011-2-22 16:12 | 只看该作者
呵呵,楼上留的栈可够大的,一般情况下留个30~40栈空间应该够用了.

使用特权

评论回复
10
xzy568|  楼主 | 2011-2-22 18:27 | 只看该作者
另外使用指针和使用ABSACC.H库的函数有什么区别啊?感觉差不多啊?

使用特权

评论回复
11
sunshitao| | 2011-2-24 22:45 | 只看该作者
unsigned char  const * p;
p=(unsigned  char * ) 0xff;
对指针p进行操作就可以了

使用特权

评论回复
12
不锈钢铁| | 2011-2-25 09:25 | 只看该作者
还得学学

使用特权

评论回复
13
刘前辈| | 2011-2-25 18:18 | 只看该作者

不用自己作指针,很简单:

本帖最后由 刘前辈 于 2011-2-25 18:36 编辑

#include<absacc.h>
#define  aa   DBYTE [ 0xff ]     // 给 idata  0xff 单元赋予一个名字aa 。而不是定义全局变量。
main( )
{
aa=0x12;

while(1);
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

210

帖子

2

粉丝