如何在宏定义的基础上增加地址

[复制链接]
3167|6
 楼主| Mick_liang 发表于 2009-9-3 12:51 | 显示全部楼层 |阅读模式
宏定义:#define MY_ADDR DBYTE[0x70]
但现在想在地址0x72上写数,如何在MY_ADDR基础上实现?

如果不在宏定义的基础上,又怎么实现呢?
aozima 发表于 2009-9-3 12:55 | 显示全部楼层

  1. #define   addr   0x70
  2. set_addr(addr+3);
电子空对穴 发表于 2009-9-3 13:08 | 显示全部楼层
你可以这样定义
#include "头文件"
#define MY_ADDR(i)  DBYTE[0x70+i]

MY_ADDR(0)    DBYTE[0x70]
MY_ADDR(1)    DBYTE[0x71]
..............

unsigned char Dat;

读数据:
Dat=MY_ADD(2);
写数据:

MY_ADDR(2)=Dat;
 楼主| Mick_liang 发表于 2009-9-3 13:26 | 显示全部楼层
谢谢,下午上班时,是一下。
 楼主| Mick_liang 发表于 2009-9-3 13:34 | 显示全部楼层
3# 电子空对穴
如果我加for循环,从MY_ADDR1~MY_ADDR8,这样的宏定义不行吧。
电子空对穴 发表于 2009-9-4 16:37 | 显示全部楼层
这样的定义是可行的,我在实际的应用中用过,
ghl111 发表于 2009-9-13 10:23 | 显示全部楼层
#define MY_ADDR[ DBYTE[0x70+

使用时
MY_ADDR[0]=1;
MY_ADDR[1]=2;
.......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

87

帖子

0

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