Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 1

NFC и MFRC630

25.04.2019, 13:18. Показов 1095. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть библиотека
https://platformio.org/lib/sho... 630%20RFID
В ней реализована возможность работы с NFC картами с UID=4. У меня карта Тройка у нее UID=7(Ultralight) который день бьюсь что бы считать данные с карты увы не выходит пытался применить для семи значного уида вот эту функцию из либы но увы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
uint16_t Adafruit_MFRC630::mifareReadBlock(uint8_t blocknum, uint8_t *buf)
{
  clearFIFO();
 
  /* Enable CRC. */
  DEBUG_TIMESTAMP();
  DEBUG_PRINTLN(F("A. Disabling CRC checks. mifareReadBlock"));
  write8(MFRC630_REG_TX_CRC_PRESET, 0x18 | 1);
  write8(MFRC630_REG_RX_CRC_CON, 0x18 | 1);
 
  /* Allow the IDLE and Error IRQs to be propagated to the GlobalIRQ. */
  write8(MFRC630_REG_IRQOEN, MFRC630IRQ0_IDLEIRQ | MFRC630IRQ0_ERRIRQ);
  /* Allow Timer0 IRQ to be propagated to the GlobalIRQ. */
  write8(MFRC630_REG_IRQ1EN, MFRC630IRQ1_TIMER0IRQ);
 
  /* Configure the frame wait timeout using T0 (10ms max). */
  /* 1 'tick' 4.72us, so 2000 = ~10ms */
  DEBUG_TIMESTAMP();
  DEBUG_PRINTLN(F("Configuring Timer0 @ 211.875kHz, post TX, 10ms timeout."));
  write8(MFRC630_REG_T0_CONTROL, 0b10001);  /* Start at end of TX, 211kHz */
  write8(MFRC630_REG_T0_RELOAD_HI, 0xFF);
  write8(MFRC630_REG_TO_RELOAD_LO, 0xFF);
  write8(MFRC630_REG_T0_COUNTER_VAL_HI, 0xFF);
  write8(MFRC630_REG_T0_COUNTER_VAL_LO, 0xFF);
 
  /* Clear interrupts. */
  write8(MFRC630_REG_IRQ0, 0b01111111);
  write8(MFRC630_REG_IRQ1, 0b00111111);
 
  /* Transceive the command. */
  uint8_t req[2] = {MIFARE_CMD_READ, blocknum};
  writeCommand(MFRC630_CMD_TRANSCEIVE, 2, req);
 
  /* Wait until the command execution is complete. */
  uint8_t irq1_value = 0;
  while (!(irq1_value & MFRC630IRQ1_TIMER0IRQ)) {
    irq1_value = read8(MFRC630_REG_IRQ1);
    
    /* Check for a global interrrupt, which can only be ERR or RX. */
    if (irq1_value & MFRC630IRQ1_GLOBALIRQ) {
      break;
    }
  }
  
  writeCommand(MFRC630_CMD_IDLE);
    
  /* Check if we timed out or got a response. */
  if (irq1_value & MFRC630IRQ1_TIMER0IRQ) {
    /* Timed out, no auth :( */
    DEBUG_PRINTLN(F("TIMED OUT!"));
    return 0;
  }
 
  /* Read the size and contents of the FIFO, and return the results. */
  uint16_t buffer_length = readFIFOLen();
  uint16_t rx_len = (buffer_length <= 16) ? buffer_length : 16;
  readFIFO(rx_len, buf);
    
  return rx_len;
}
По даташитам посмотрел на чип вроде все сходится а по факту не читает байты хоть тресни

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void PICC_DumpMifareUltralightToSerial() {
  byte byteCount;
  byte buffer[1];
  byte i;
  uint8_t x;
  Serial.println(F("Page  0  1  2  3"));
  // Try the mpages of the original Ultralight. Ultralight C has more pages.
  for (byte page = 0; page < 64; page +=1) { // Read returns data for 4 pages at a time.
    // Read pages
    
    byteCount = sizeof(buffer);
   rfid.mifareReadBlock(page,buffer);
    
    Serial1.print(buffer[1]);
 
}
это пример одного из вариантов.

Пишу в Arduino но под STM32
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2019, 13:18
Ответы с готовыми решениями:

NFC
В Atmel SAM3U есть NFC контроллер, который позволяет общаться с внешней NAND Ftosh без вмешательства CPU. Надеялся, что скорость...

Метка NFC
Добрый день. Имеется необходимость считывать номер NFC метки с телефона. Для этого использую отдельный считыватель. Всё прекрасно...

Не работает NFC
Всем привет, проблема заключается в том что при оплате товара через нфс, терминал пишет разную ерунду( не проходит оплата). Проблема в...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2019, 13:18
Помогаю со студенческими работами здесь

NFC-технология
Всем добрый! Возникла идея реализации устройства, имеющего на борту nfc-модуль и реализующего обмен с считывателем. Конечная цель -...

NFC в телефоне
Всем привет. С недавнего времени заинтересовался информацией о NFC в телефоне. Я хочу использовать свой телефон в качестве NFC метки....

NFC модуль у LG G PRO
Собственно на руках аппарат LG G pro. Не работал изначально NFC модуль. Хотелось бы его завести своими руками. Телефон до этого не...

NFC бесконтактная оплата
Всем привет. Скажите пожалуйста. Как много заряда батареи в час будет потреблять включенная технология NFC. Если размер батареи 3400 mAh?

NFC передача номера
Привет всем. Мне нужно реализовать передачу номера посредством NFC. Необходимо, чтобы человек подносил телефон к считывателю и телефон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru