Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Фрикинг

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 10.09.2017, 21:36   #1
n971030 Меню Пользователя
Гость клуба
 
Регистрация: 10.09.2017
Сообщений: 1
Exclamation arduino UNO

Добрый вечер, имеется ардуино UNO к которой сенгвичем подключен W5100 а на проводах весит считыватель RC522 но вот этот считыватель карты перестает читать. Например 9 раз приложиш карту и читает нормально а потом все. А если постоит просто в работе процессор и не читает совсем. Или перестает читать сразу после того как встретит карту и не сможет авторизоватся на карте с ключем А..Кто то может что то сказать?

#include <SPI.h>
#include <MFRC522.h>
#include <SD.h>
#define RST_PIN 0
#define SS_PIN A1

MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Старт");
pinMode(A0, OUTPUT);
}

void loop() {

// put your main code here, to run repeatedly:
if ( ! mfrc522.PICC_IsNewCardPresent()) {
Serial.println("1");
return;
}

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

// Ключ
/*for (byte i = 0; i < mfrc522.uid.size; i++) {
int uid = mfrc522.uid.uidByte[i];
// NameFile += String(uid, DEC);
}*/

// В этом примере мы используем первый сектор данных карты, блок 4
byte sector = 1;
byte blockAddr = 4;
/*byte dataBlock[] = { // Данные, которые мы запишем на карту
0x01, 0x02, 0x03, 0x04, // 1, 2, 3, 4,
0x05, 0x06, 0x07, 0x08, // 5, 6, 7, 8,
0x08, 0x09, 0xff, 0x0b, // 9, 10, 255, 12,
0x0c, 0x0d, 0x0e, 0x0f // 13, 14, 15, 16
};*/
byte trailerBlock = 7;
byte status;
byte buffer[18];
byte size = sizeof(buffer);
Serial.print(size);

// Аутентификация
status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH _KEY_A, trailerBlock, &key, &(mfrc522.uid));
if (status != MFRC522::STATUS_OK) {
Serial.print(F("PCD_Authenticate() failed: "));
Serial.println(mfrc522.GetStatusCodeName(status));
mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
return;

}
// Показываем текущие данные сектора
mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfr c522.uid), &key, sector);

mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
}
n971030 вне форума   Ответить с цитированием
Старый 11.09.2017, 18:26   #2
russo_turisto Меню Пользователя
Модератор
 
Аватар для russo_turisto
 
Регистрация: 21.08.2011
Сообщений: 1,204
По умолчанию Re: arduino UNO

Можно вывод в юарт сделать на каждом критическом участке программы и примрно будет видно в каком месте проц зациклился.
russo_turisto вне форума   Ответить с цитированием
Старый 11.09.2017, 18:27   #3
russo_turisto Меню Пользователя
Модератор
 
Аватар для russo_turisto
 
Регистрация: 21.08.2011
Сообщений: 1,204
По умолчанию Re: arduino UNO

Если RC522 работает тоже по SPI (те же пины) как и W5100 то будут танцы с бубном. Это же дурдуина.
russo_turisto вне форума   Ответить с цитированием
Старый 11.09.2017, 18:43   #4
stallion_x Меню Пользователя
Banned
 
Регистрация: 17.03.2016
Сообщений: 296
По умолчанию Re: arduino UNO

я использовал библиотеки nfc.h и EEPROM.h . подключал по I2C и писал сразу в EEPROM /
stallion_x вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 19:21. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика