Hi .. I am currently sending an APDU Command to a card with the ST25R3911 and get a valid response.
I use the HAL drivers and middleware from ST-CubeMX ( CPU = STM32F401RE)
As soon as I try to send another APDU command ( or even the same one again) I receive 0 bytes from the card.
I start With rfalIsoDepPollAHandleActivation()
then i set up may parameters (rfalIsoDepApduTxRxParam)
then I send my first APDU Command. (rfalIsoDepApduBufFormat)
err = rfalIsoDepStartApduTransceive(myParam);
then I wait for the response in a loop with rfalworker()
for (int i=0;i<TIMEOUT;i++)
// Run the RFAL Worker
err = rfalIsoDepGetApduTransceiveStatus(); //Check The Status of the APDU Transceive
if (err == ERR_NONE)
logUsart("APDU Transceive Success\r\n");
if (err == ERR_BUSY)
after I received my rxBuf data,
I change the txBufLen and apdu command and send the data to the card, but now i get 0 bytes returned.
also if i send the same apdu command to the card I also get 0 bytes returned.
my first apdu sending code is exactly the same as the second apdu sending code.
I also clear my Rx and Tx APDU buffers before loading the next C-APDU.
Is there any other initialization or, setting of parameters, that I am missing ?
I believe that I should not try to run rfalIsoDepPollAHandleActivation() again (before the next APDU Transceive) as I am not disconnecting the card in any way.