2025-12-04 11:06 PM
I'm attempting MIFARE communication using the ST25R3916 microcontroller, but the NT does not return during the AUTH communication. I successfully obtained the UID, and after tag selection, the SAK returned as 0x08. However, after sending 06, 01, the CRC error in the 0x1C register is set. The NT should then return from the tag, but not a single byte is returned.
The AUTH sequence is described below.
DIRECT_COMMAND_SEND(0xDB); //Clear FIFO
REG_WRITE(0x22,0b00000000); //TX BYTE Number(MSB)
REG_WRITE(0x23,0b00010000); //TX BYTE Number(LSB)
BSS=0; //SS=0
__delay_us(10);
SPI_send(0b10000000); //FIFO write command
SPI_send(0x60); //FIFO data1
SPI_send(0x01); //FIFO data2
BSS=1; //SS=1
__delay_us(10);
DIRECT_COM(0xC4); //FIFO Transmit With CRC
After this, a CRC error occurs, and NT doesn't return a single byte.
Does anyone know why?