OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4040|回复: 14

c语言宏定义

[复制链接]

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
发表于 2017-2-20 14:09:55 | 显示全部楼层 |阅读模式
20金钱
#define      NumberDelayCnt               DATAW[259]                    
#define      SetBclip_Air_Status            DATAW[33]
#define      SetTran_Air_Status            DATAW[34]
那位帅哥,大姐帮忙解释下,这种宏定义什么意思?为啥可以这样宏定义,公用一个数组名,只是范围不一样大?

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1553
金钱
1553
注册时间
2016-11-21
在线时间
411 小时
发表于 2017-2-20 14:09:56 | 显示全部楼层
沧海 发表于 2017-2-20 14:47
u32 kincot_cathdis;
        DATA[ADDH_kincot_cathdis]=kincot_cathdis>>16;
这个是取高16位数据放 ...

对!------
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13123
金钱
13123
注册时间
2012-11-26
在线时间
3813 小时
发表于 2017-2-20 14:10:37 | 显示全部楼层
数组的第N+1个元素值
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:12:34 | 显示全部楼层
jermy_z 发表于 2017-2-20 14:10
数组的第N+1个元素值

怎么讲?
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13123
金钱
13123
注册时间
2012-11-26
在线时间
3813 小时
发表于 2017-2-20 14:12:49 | 显示全部楼层

你说怎么讲?
学无止境
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:16:21 | 显示全部楼层

你的意思是把一个数值分开宏定义了?(这个数字定义的时候是2000 )  前259用第一个宏定义,下面34个用第二个?
回复

使用道具 举报

20

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2015-10-2
在线时间
59 小时
发表于 2017-2-20 14:19:44 | 显示全部楼层
定义不同大小的数组吧
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:21:03 | 显示全部楼层
15621009605 发表于 2017-2-20 14:19
定义不同大小的数组吧

这就是一个数组啊。数组名就一个。
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:26:16 | 显示全部楼层
jermy_z 发表于 2017-2-20 14:10
数组的第N+1个元素值

你的意思是数组的N+1那个数被宏定义了是吧?我就说嘛,怎么可以宏定义整个数组。
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:29:44 | 显示全部楼层
15621009605 发表于 2017-2-20 14:19
定义不同大小的数组吧

开玩笑,数组怎么能宏定义?
回复

使用道具 举报

8

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1553
金钱
1553
注册时间
2016-11-21
在线时间
411 小时
发表于 2017-2-20 14:31:36 | 显示全部楼层
沧海 发表于 2017-2-20 14:26
你的意思是数组的N+1那个数被宏定义了是吧?我就说嘛,怎么可以宏定义整个数组。

意思就是DATAW[]这个数组是事先定义好的,NumberDelayCnt =1等价于DATAW[259]=1
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:34:40 | 显示全部楼层
msq001 发表于 2017-2-20 14:31
意思就是DATAW[]这个数组是事先定义好的,NumberDelayCnt =1等价于DATAW[259]=1

是的。还有这个帮忙看看。  数组里面是范围还是运算?还是其他啥  InputData12是u8
       DATA[98/8]=InputData12;
        DATA[107/8]=InputData13;
        DATA[473/8]=InputData59;
回复

使用道具 举报

8

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1553
金钱
1553
注册时间
2016-11-21
在线时间
411 小时
发表于 2017-2-20 14:39:09 | 显示全部楼层
沧海 发表于 2017-2-20 14:34
是的。还有这个帮忙看看。  数组里面是范围还是运算?还是其他啥  InputData12是u8
       DATA[98/8]= ...

运算,就是
DATA[12]=InputData12;
DATA[13]=InputData13;
DATA[59]=InputData59;
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:47:34 | 显示全部楼层
msq001 发表于 2017-2-20 14:39
运算,就是
DATA[12]=InputData12;
DATA[13]=InputData13;

u32 kincot_cathdis;
        DATA[ADDH_kincot_cathdis]=kincot_cathdis>>16;
这个是取高16位数据放入数组吗?
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-2-20 14:49:45 | 显示全部楼层

谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-15 13:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表