C语言小白问题

2019-07-20 14:54发布

有F-1引脚输出变量Q1,Q1又与数组ARR[10]中第5个元素等值。
#define Q1 PFout(1)   //默认引用了正点原子的写好的PFout(n)源代码
#define Q1 ARR[4]

这样的话,系统就会警告Q1被重复定义了,不知道这样有问题吗?或者应该怎样改呢?ARR[10]数组是用在modbus中读写位状态的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
maple2
1楼-- · 2019-07-20 15:07
 精彩回答 2  元偷偷看……
Da Wen
2楼-- · 2019-07-20 19:11
先不说语法上的,F-1引脚输出变量Q1,你这里 #define Q1 PFout(1),Q1就变成一个固定的地址了,而不是输出变量。
dipolo
3楼-- · 2019-07-20 19:16
Da Wen 发表于 2017-4-18 17:57
先不说语法上的,F-1引脚输出变量Q1,你这里 #define Q1 PFout(1),Q1就变成一个固定的地址了,而不是输出变 ...

我写错了,不是输出变量,Q1是固定输出地址。但我想将Q1与数字中ARR[5]等价关联起来,那得怎样写啊?
操作系统
4楼-- · 2019-07-20 19:59
 精彩回答 2  元偷偷看……
dipolo
5楼-- · 2019-07-21 01:47
maple2 发表于 2017-4-18 15:01
先定义
#define Q1 PFout(1)

ARR[4]或Q1都是在系统运行时是不停变动的,如果一直Q1=ARR[4]是比较麻烦,而且Q1=ARR[4]只是当ARR[4]变化后,将其赋值给Q1,忽略了Q1变化后赋值给ARR[4]。这就和宏定义不一样了。
dipolo
6楼-- · 2019-07-21 02:56
 精彩回答 2  元偷偷看……

一周热门 更多>