Как уменьшить значение в блоке значений MIFARE Classic, используя считыватель PN532?
Я пытаюсь управлять блоком значений с помощью Mifare Classic и считывателя PN532. Я использую библиотеку с открытым исходным кодом с именем "libnfc", но я не вижу ничего связанного с блоками значений в этой библиотеке.
Кто-нибудь знает, как я могу делать приращения, уменьшения и передачи вызовов с этим читателем и библиотекой?
1 ответ
Посмотрите на заголовок utils/mifare.h
(и связанная с ним реализация utils/mifare.c
). Они содержат реализацию команд чтения MIFARE. Например, для команды increment вы должны использовать что-то вроде:
mp.mpv.abtValue[0] = 1;
mp.mpv.abtValue[1] = 0;
mp.mpv.abtValue[2] = 0;
mp.mpv.abtValue[3] = 0;
nfc_initiator_mifare_cmd(pnd, MC_INCREMENT, blockNumber, &mp);
куда pnd
это nfc_device *
, mp
это mifare_param
и вы ранее аутентифицировались в этом секторе (см. utils/nfc-mfclassic.c
).