gpt4 book ai didi

c - 在 C 中存储和比较字节值

转载 作者:行者123 更新时间:2023-11-30 19:36:12 26 4
gpt4 key购买 nike

我有一个带有 MFRC522 RFID 接收器模块的 Arduino Uno 设置。我正在尝试创建一个验证系统,在其中使用卡的 UID 来打开 LED。这是我当前的代码:

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
Serial.println("Scan PICC to see UID and type...");
}

void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}

// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}

byte readCard[7] ;
byte cardCode[7] = E05E987;

Serial.println("Scanned PICC's UID:");
for (int i = 0; i < mfrc522.uid.size; i++) {
readCard[i] = mfrc522.uid.uidByte[i];
Serial.print(readCard[i], HEX);
}
Serial.println("");


if (readCard == cardCode){
Serial.println("Correct Code");
return;
}
}

但是,当我编译此代码时,我遇到了以下错误:

/root/Arduino/RFID_Check_/RFID_Check_.ino: In function 'void loop()':
RFID_Check_:28: error: 'E05E987' was not declared in this scope
byte cardCode[7] = E05E987;
^
exit status 1
'E05E987' was not declared in this scope

如何解决这个错误?我尝试更改方括号之间的值,但无济于事。

最佳答案

您 decare 一个 7 字节的数组。看来你想给它赋一个值;但是,该值不适合字节。

要分配十六进制值,必须在其前面添加 0x,这样 0xE05E987 将是正确的十六进制值。

但是这个值对于一个字节来说太大了。您可以将值分配给数组,如下所示:

byte cardCode[7] = {0xE0, 0x5E, 0x98, 0x07};

任何未提供的值都为零。上面已经通过 cardCode[3] 初始化了 cardCode[0] 并将余数设置为零。

关于c - 在 C 中存储和比较字节值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41533668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com