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

How to enable P0.09 and P0.10 as GPIO pins on the nRF52 instead of NFC pins?

Hi,

I'm using nrf52 custom board designed for our project,For this we have P0.09 and P0.10 as rx and tx used for uart, when i configured this two pins as rx and tx it is not showing any data on the uart.I have read the datasheet and i have seen this link devzone.nordicsemi.com/.../
but i'm not able to resolve the problem ,please help me ASAP.

Regards,

Prudhvi.

Parents
  • Hi Eliot, I just wanna know whether you fix this problem or not. I encounter the same issue. P0.09 is used as UART RX pin. It always reports "APP_UART_COMMUNICATION_ERROR" after initialization. CONFIG_NFCT_PINS_AS_GPIOS CFLAG is defined. I checked the NRF_UICR->NFCPINS register, it is 0xFFFFFFFE.

  • As a guide, it's best to use the Nordic project-level defines as listed for NFC and Reset pins, as the UICR register is part of the Flash memory, and it must not be repeatedly written (max 181 times) as it would be by an indiscriminate register write in user code on every reset. The Nordic SystemInit() checks the value before writing when using the defines to avoid repeated writes. This also means the NFC pins can not be easily repeatedly switched between NFC mode and I/O port mode.

    I quote:

    "11.3 Writing to user information configuration registers (UICR)
    User information configuration registers (UICR) are written in the same way as Flash. After UICR has been
    written, the new UICR configuration will only take effect after a reset.
    UICR can only be written nWRITE number of times before an erase must be performed using ERASEUICR or
    ERASEALL."

    nWRITE,BLOCK Amount of writes allowed in a block between erase 181

Reply
  • As a guide, it's best to use the Nordic project-level defines as listed for NFC and Reset pins, as the UICR register is part of the Flash memory, and it must not be repeatedly written (max 181 times) as it would be by an indiscriminate register write in user code on every reset. The Nordic SystemInit() checks the value before writing when using the defines to avoid repeated writes. This also means the NFC pins can not be easily repeatedly switched between NFC mode and I/O port mode.

    I quote:

    "11.3 Writing to user information configuration registers (UICR)
    User information configuration registers (UICR) are written in the same way as Flash. After UICR has been
    written, the new UICR configuration will only take effect after a reset.
    UICR can only be written nWRITE number of times before an erase must be performed using ERASEUICR or
    ERASEALL."

    nWRITE,BLOCK Amount of writes allowed in a block between erase 181

Children
No Data
Related