在数字常量 Arduino 之前应为非限定 id

Expected unqualified-id before numeric constan Arduino

本文关键字:id 数字 常量 Arduino      更新时间:2023-10-16

当我收到此错误时,我正在将我的 rfid MFRC522附加到我的 Arduino:

Arduino: 1.6.6 Hourly Build 2015/09/18 03:38 (Windows 7), Board: "Arduino/Genuino Uno"
sketch_mar11b:34: error: expected unqualified-id before numeric constant
sketch_mar11b.ino:36:10: note: in expansion of macro 'SS_PIN'
sketch_mar11b:34: error: expected ')' before numeric constant
sketch_mar11b.ino:36:10: note: in expansion of macro 'SS_PIN'
sketch_mar11b.ino: In function 'void setup()':
sketch_mar11b:41: error: expected initializer before '.' token
sketch_mar11b.ino: In function 'void loop()':
sketch_mar11b:47: error: 'mfrc522' was not declared in this scope
sketch_mar11b:52: error: 'mfrc522' was not declared in this scope
sketch_mar11b:57: error: 'mfrc522' was not declared in this scope
exit status 1
expected unqualified-id before numeric constant
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

但这是我的东西的常规代码:

/*
 * MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
 * The library file MFRC522.h has a wealth of useful info. Please read it.
 * The functions are documented in MFRC522.cpp.
 *
 * Based on code Dr.Leong   ( WWW.B2CQSHOP.COM )
 * Created by Miguel Balboa (circuitito.com), Jan, 2012.
 * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.)
 * Released into the public domain.
 *
 * Sample program showing how to read data from a PICC using a MFRC522 reader on the Arduino SPI interface.
 *----------------------------------------------------------------------------- empty_skull 
 * Aggiunti pin per arduino Mega
 * add pin configuration for arduino mega
 * http://mac86project.altervista.org/
 ----------------------------------------------------------------------------- Nicola Coppola
 * Pin layout should be as follows:
 * Signal     Pin              Pin               Pin
 *            Arduino Uno      Arduino Mega      MFRC522 board
 * ------------------------------------------------------------
 * Reset      9                5                 RST
 * SPI SS     10               53                SDA
 * SPI MOSI   11               52                MOSI
 * SPI MISO   12               51                MISO
 * SPI SCK    13               50                SCK
 *
 * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com. 
 */
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
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 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;
}
// Dump debug info about the card. PICC_HaltA() is automatically called.
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

现在我不明白我做错了什么。我不能使用 Int 方法,因为它会分配一个常量数字,但我没有添加数值。为什么我会收到这些错误?

当您

尝试创建实例时,您缺少变量名称MFRC522

MFRC522 (SS_PIN, RST_PIN);  // Create MFRC522 instance.

应该是这样的:

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance.

同样在setup()

MFRC522 mfrc522.PCD_Init(); // Init MFRC522 card

您应该使用现有的全局变量:

mfrc522.PCD_Init(); // Init MFRC522 card 

不声明本地的