打印

请教C51如何定义一个 内存 为 如下(已经解决 另一帖)

[复制链接]
1093|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
itelectron|  楼主 | 2014-3-8 17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 itelectron 于 2014-3-11 22:01 编辑

  unsigned char pdata *Adr08 _at_ 0x08;
  unsigned char data  Ram08 _at_ 0x08;
==============================================
union temp8
{
  unsigned char pdata *Adr08 _at_ 0x08;
  unsigned char data  Ram08 _at_ 0x08;
}Dram;
==================================

因为 定义 为指针后 不 能做  Ram08|=0x04; /运算

相关帖子

沙发
ayb_ice| | 2014-3-8 18:23 | 只看该作者
地址重叠了
没有必要指定地址

使用特权

评论回复
板凳
ayb_ice| | 2014-3-8 18:28 | 只看该作者
不对
联合,结构体指定地址不是在这里
typedef union{
    char x;
}t_test;

t_test my_var _at_ 0x60;

使用特权

评论回复
地板
itelectron|  楼主 | 2014-3-9 08:25 | 只看该作者
TO  楼上       因为 地址要参与 运算  51  P0的地址和数据是重叠 的   所以 有上面需求

使用特权

评论回复
5
itelectron|  楼主 | 2014-3-9 08:27 | 只看该作者
       
        ANL     08H, #71H                ;//地址进行运算
        MOV     R0,  08H                ;//取运算后的地址
        MOVX    @R0, A                        ;//送外部RAM

使用特权

评论回复
6
coody| | 2014-3-10 09:20 | 只看该作者
用C为什么要指定绝对地址?

使用特权

评论回复
7
itelectron|  楼主 | 2014-3-10 16:35 | 只看该作者
coody 发表于 2014-3-10 09:20
用C为什么要指定绝对地址?

因为需要  所以要转换

使用特权

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

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2762

帖子

8

粉丝