C++ arduino脚本中使用RFID打开LED时出错

C++ arduino脚本中使用RFID打开LED时出错,c++,arduino,arduino-uno,rfid,C++,Arduino,Arduino Uno,Rfid,守则: 我正在使用MFRC522 1.4.5库和Arduino Uno以及RFID rc522。 每当我用卡或钥匙扫描RFID模块时,我试图让LED灯亮起 另一个注意事项是,我对Arduino中的编码不太熟悉,我主要想了解电路(但是我确实理解编码概念,因为我有Python和Java的背景,我只是不知道应该如何解释这些错误消息) RFID-RC522_LED:10:14:错误:“MAX_LEN”未在此范围内声明 必须声明C++变量中的p>。编译器根本不知道hwat MAX_LEN是谁。它既没有类型

守则: 我正在使用MFRC522 1.4.5库和Arduino Uno以及RFID rc522。 每当我用卡或钥匙扫描RFID模块时,我试图让LED灯亮起

另一个注意事项是,我对Arduino中的编码不太熟悉,我主要想了解电路(但是我确实理解编码概念,因为我有Python和Java的背景,我只是不知道应该如何解释这些错误消息)

RFID-RC522_LED:10:14:错误:“MAX_LEN”未在此范围内声明

必须声明C++变量中的p>。编译器根本不知道hwat MAX_LEN是谁。它既没有类型也没有值,但您试图将其用作数组大小:

 byte TagData[MAX_LEN];
大写字母通常用于宏。所以你很可能错过了一个

#定义MAX_LEN 4//或您需要的任何数字

然后,无论在哪里使用MAX_LEN,它都将被4替换,从而产生
字节标记数据[4]

或者,您必须告诉编译器它的类型和值

例如
int MAX\u LEN=4

RFID-RC522_LED:22:7:错误:“类MFRC522”没有名为 “开始”

创建名为
nfc

MFRC522 nfc(SDAPIN, RESETPIN);
然后尝试打电话

nfc.begin();
但正如错误所说,该类中没有begin方法

请参阅该类的文档

对于所有其他错误,情况基本相同

一个快速的谷歌搜索显示,出于某种原因,您试图在
MFRC522
类的实例上使用
Adafruit\u NFCShield\u I2C
类的方法


如果你不仔细阅读课堂参考资料而不小心把教程放在一起,通常会发生这种情况。

错误消息告诉你一些事情。例如,您是否在任何地方声明了
MAX\u LEN
?提示:您可以看到,您已经声明了
SDAPIN
,使用宏
#define SDAPIN 10
,这些错误消息都是不言自明的,如果这没有帮助,您可以始终搜索web(省去您的实际姓名)。你不是这个星球上唯一面对C++编译器错误的人;即使在Java和Python中,也不能调用不存在的函数。
MFRC522 nfc(SDAPIN, RESETPIN);
nfc.begin();