Arduino 需要一些帮助来理解一些代码吗

Arduino 需要一些帮助来理解一些代码吗,arduino,Arduino,我在Arduino中使用RFID RC522模块,代码的作用是,每当RFID标签靠近读卡器时,它都会读取标签号和当前时间戳。但我需要帮助逐行理解代码。我已经理解了代码中的几行注释,但其余的我需要帮助。多谢各位 #包括 #包括 #定义SS_引脚10 #定义RST_引脚9 RFID(SS_PIN、RST_PIN); int-serNum[4]; 字符串cardno; 整数间隔=15000;//毫秒 long now=0; 长lasttime=millis()//毫秒()草图正在运行的毫秒数 字符串r

我在Arduino中使用RFID RC522模块,代码的作用是,每当RFID标签靠近读卡器时,它都会读取标签号和当前时间戳。但我需要帮助逐行理解代码。我已经理解了代码中的几行注释,但其余的我需要帮助。多谢各位

#包括
#包括
#定义SS_引脚10
#定义RST_引脚9
RFID(SS_PIN、RST_PIN);
int-serNum[4];
字符串cardno;
整数间隔=15000;//毫秒
long now=0;
长lasttime=millis()//毫秒()草图正在运行的毫秒数
字符串readerID=“100”//这是读卡器ID
无效设置(){
Serial.begin(9600);//以每秒比特数为单位设置数据速率9600
SPI.begin();
init();
}
void循环(){
现在=毫秒();
if(rfid.isCard()){
if(rfid.readCardSerial()){
上次=现在;
cardno=String(rfid.serNum[0])+
字符串(rfid.serNum[1])+
字符串(rfid.serNum[2])+
字符串(rfid.serNum[3])+
字符串(rfid.serNum[4]);
串行打印(readerID);
连续打印(“:”);
Serial.println(cardno);//在串行监视器中打印cardno
}
}
rfid.halt();
延迟(1000);
}

代码中有未使用的变量。让我们把它们处理掉,这样就不那么混乱了。我还添加了解释if语句的注释

#包括
#包括
#定义SS_引脚10
#定义RST_引脚9
RFID(SS_PIN、RST_PIN);
字符串cardno;
字符串readerID=“100”;
无效设置(){
Serial.begin(9600);
SPI.begin();
init();
}
void循环(){
如果(rfid.isCard()){//查找卡。如果找到,则返回true。
如果(rfid.readCardSerial()){//读取卡的序列号。如果成功,则返回true。
cardno=String(rfid.serNum[0])+
字符串(rfid.serNum[1])+
字符串(rfid.serNum[2])+
字符串(rfid.serNum[3])+
字符串(rfid.serNum[4]);
串行打印(readerID);
连续打印(“:”);
序列号、打印号(卡号);
}
}
rfid.halt();
延迟(1000);
}
根据您的评论猜测,我认为您想了解RFID类是如何实现的。我建议看看RFID.h和RFID.cpp


RFID类有一个名为
serNum
的数组。我的猜测是,当您调用
readCardSerial()
时,RFID的一个实例会尝试在此数组中存储卡号。如果操作成功,它将返回
true

哪些行您完全不理解?serNum部分和If函数部分