This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NFC code not working

Hi,

I'm trying to get NFC working on a PCA10040 dev board. Using the nfc/record_url hex file it works fine, so the hardware is obviously ok.

However, when I use the exact same code as in the record_url example from my software, it doesn't do anything. All functions execute without errors, but then log_uart_printf gets called with:

[NFC_HAL]: initialize
[NFC_HAL]: start
// ------------- put NFC device near 
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize
[NFC_HAL]: fielddetected
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize
[NFC_HAL]: fielddetected
[NFC_HAL]: fielddetected
[NFC_HAL]: fielddetected
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize
[NFC_HAL]: fielddetected
[NFC_HAL]: reinitialize

Also, will the NFC code ever be distributed as something that's not a binary blob? I'm using a language interpreter (Espruino), and it expects functions to be compiled without hardware floating point (the call style is different). Currently the only way I can use NFC is to recompile with VFP, which means I'm then unable to pass floating point values into any functions!

Parents Reply
  • It's a good sign, we are coming closer, NRF_NFCT->TASKS_ACTIVATE = 1; is called when the HFCLK is started and NRF_DRV_CLOCK_EVT_HFCLK_STARTED event returned.

    Could you check if could you check if nrf_drv_clock_hfclk_request() is called inside nrf_nfct_field_event_handler() ?

    It could be an issue that HFCLK is not managed to start or it's already stated that the NRF_DRV_CLOCK_EVT_HFCLK_STARTED event never return.

Children
No Data
Related