cancel
Showing results for 
Search instead for 
Did you mean: 
1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

do you use the X-CUBE-NFC9 Firmware package or the ST25R Embedded Library Firmware package? Have you generated your application with STM32CubeMX+X-CUBE-NFC9?

Could you check that the EXTI interrup of the pin connected to the ST25R100 interrupt line is enabled and that the st25r200Isr is properly called by the interrup handler? Also check the priority of the EXTI interrupt versus the priority of SYSTICK interrup. Is the platformProtectST25RComm properly implemented? 

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

11 REPLIES 11
Brian TIDAL
ST Employee

Hi,

do you use the X-CUBE-NFC9 Firmware package or the ST25R Embedded Library Firmware package? Have you generated your application with STM32CubeMX+X-CUBE-NFC9?

Could you check that the EXTI interrup of the pin connected to the ST25R100 interrupt line is enabled and that the st25r200Isr is properly called by the interrup handler? Also check the priority of the EXTI interrupt versus the priority of SYSTICK interrup. Is the platformProtectST25RComm properly implemented? 

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
vinodyp92
Associate II

Hello

Thank you for the response,
I Corrected Priority and Enabled NVIC EXTI and also called the st25r200Isr, 

Now the infinite loop issue gone.

I'm using ST25NFC_Embedded_Lib_ST25R200_1.8.0, 
STMicroelectronics\ST25NFC_Embedded_Lib_ST25R200_1.8.0\Middlewares\ST\RFAL
I generated code using STM CUBE IDE FOR STM32F407 Discovery Board , included above path to use the library.
I Have done SPI Connection from my discovery board to X-NUCLEO-FC09A1 Board.

Now I'm stuck at 

case DEMO_ST_DISCOVERY:

if( rfalNfcIsDevActivated( rfalNfcGetState() ) )

I'm getting RFAL_NFC_STATE_POLL_TECHDETECT:

vinodyp92_0-1765794496979.png

 

 

Brian TIDAL
ST Employee

Hi,

could you enable ST25R_SELFTEST and ST25R_SELFTEST_TIMER compilation flags?

Which tag (manufacturer and model) do you use for your tests?

Could you check with a scope that the RF field is on?

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello

I Enabled Self Test, going to error platformErrorHandle();
RFAL_ERR_SYSTEM 8 

vinodyp92_1-1765799381468.png

Im using a card ISO 14443-3A by NXP- MIfare Clasic

I don't have any equipment to check RF Filed 

Vinod

Hi,

could you check the implementation of the following macros in rfal_platform.h:

  • #define platformTimerCreate( t )
  • #define platformTimerIsExpired( timer )
  • #define platformTimerGetRemaining( timer )
  • #define platformDelay( t )
  • #define platformGetSysTick()

See an example of rfal_platform.h in polling demo in the ST25NFC_Embedded_Lib_ST25R200 package.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

vinodyp92_0-1765803220133.png

attached the timer file 

Brian TIDAL
ST Employee

Hi,

I suspect that the system tick is not configured correctly.

How is the system tick being implemented in your application? Could you check that the tick is regularly incremented? Could you toggle a GPIO for 50ms using HAL_Delay(50)  and check the output with a scope connected to the GPIO?

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

uint32_t t1 = HAL_GetTick();
HAL_Delay(10);
uint32_t t2 = HAL_GetTick();
t2 - t1 ≈ 11

I'm getting above difference.

Brian TIDAL
ST Employee

Hi,

Could you check the accuracy of the system tick? e.g. toggle a GPIO and connect a logic analyzer.

To check the RF field, just connect the ground of a scope probe to the tip of the probe. This creates a antenna loop that can be used to probe the RF signal.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.