mfrc522 работа с uid карты
- Войдите на сайт для отправки комментариев
Пт, 17/04/2015 - 07:21
Привет всем помогите понять работаю с mfrc522 считываю uid карты. чтоб мне дальше с ней работать
не могу полный uid поместить в переменную для работы сней . вопрос новечка
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 //
#define SS_PIN 53 //
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
}
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));
Serial.print("");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i], HEX);
// КАК МНЕ ТУТ В ПЕРЕМЕННУЮ ВСЕ СОБРАТЬ ЧТОБ ПОЛУЧИТЬ ЗНАЧЕНИЯ
}
Serial.println("");
delay(1000);
}
Примеры из библиотеки смотрели?
Все решенно unsigned long uidDec, uidDecTemp; // переменные для получения UID ..... .... // полученя UID Serial.print(""); for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp=mfrc522.uid.uidByte[i]; uidDec=uidDec*256+uidDecTemp; } // полученя UID Serial.println(uidDec);123321
Ахринеть, копатель! 3 года прошло с тех пор как ТС сам себе ответил, и разумеется неверно, т.к. UID ,бывает 4, 7 и 10 байт (а может и еще чего напридумуют) и в лонг оно разумеется лезет но не всегда ;) Но нахерища лепить дето пиз..ный код не решающий проблему, еще и влепить его не по правилам форума. А ХЗ, шоб за умного приняли наверно.