极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14864|回复: 10

宏定义出错

[复制链接]
发表于 2014-10-21 06:36:55 | 显示全部楼层 |阅读模式
本帖最后由 hubertdong 于 2014-10-23 21:48 编辑

请问:
#define SCK_H  digitalWrite(SCK1,HIGH);  这个没问题,
而:
#define  Data  digitalRead(SDO);  这个会出错?
回复

使用道具 举报

发表于 2014-10-21 09:32:09 | 显示全部楼层
兩個都沒問題, 你出了什麼錯?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-21 10:15:04 | 显示全部楼层
要对digitalRead(SDO);的值进行判断,
if(digitalRead(SDO)) {}没问题,但
if(Data){}就出错,不知何故?
回复 支持 反对

使用道具 举报

发表于 2014-10-21 21:43:44 | 显示全部楼层
hubertdong 发表于 2014-10-21 10:15
要对digitalRead(SDO);的值进行判断,
if(digitalRead(SDO)) {}没问题,但
if(Data){}就出错,不知何故?

這個直接看也看到吧, 你自己想想, if (Data) 把當中的  Data 替換後會變成什麼樣.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-22 20:57:43 | 显示全部楼层
Super169 发表于 2014-10-21 21:43
這個直接看也看到吧, 你自己想想, if (Data) 把當中的  Data 替換後會變成什麼樣.

那该怎么做呢?
回复 支持 反对

使用道具 举报

发表于 2014-10-23 01:02:04 | 显示全部楼层
你知道是什麼問題嗎?  如果知道的話, 應該會解決的.

如果不知道問題, 才是大問題.....或者你再看看 define 的語法就會明白的.  
只是很輕微的錯誤, 也可能是一時錯手吧.  但最好可以自己找出來, 好好記住.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 17:09:07 | 显示全部楼层
Super169 发表于 2014-10-23 01:02
你知道是什麼問題嗎?  如果知道的話, 應該會解決的.

如果不知道問題, 才是大問題.....或者你再看看 defi ...

我很少用#define,请指点!
回复 支持 反对

使用道具 举报

发表于 2014-10-23 17:19:44 | 显示全部楼层
嘗試取代一次不就清楚了嗎?

#define  Data  digitalRead(SDO);

if (Data) {} 就會變成 if (digitalRead(SDO);) {}


看到問題嗎?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 21:12:27 | 显示全部楼层
Super169 发表于 2014-10-23 17:19
嘗試取代一次不就清楚了嗎?

#define  Data  digitalRead(SDO);

程序是:
#define Data digitalRead(SDO);
while(Data);
好像不对,就是出错:
error: expected `)' before ';' token
error: expected primary-expression before ')' token
回复 支持 反对

使用道具 举报

发表于 2014-10-23 21:41:31 | 显示全部楼层
hubertdong 发表于 2014-10-23 21:12
程序是:
#define Data digitalRead(SDO);
while(Data);

本身已經有很清楚的說明, 我也把錯誤的地方給你說出來了, 還看不到問題?   
這是很基本的語法, 如果還是不明白, 我也沒法了.
或者你再認真看看我之前的回覆, 嘗試把問題看出來吧.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 21:47:50 | 显示全部楼层
你太含蓄了!
谢谢你!
发现问题了!#define Data  digaitalRead(SDO); 后面的“;”不能要!!!
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-22 23:28 , Processed in 0.042584 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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