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

Can an internal pull down be enabled for a UARTE RX input?

Are you able to enable internal pin pulls for UARTE pins, specifically the selected RX pin?

On page 490 of the nRF52833 datasheet, footnote '35' states that "High baud rates may require GPIOs to be set as High Drive, see GPIO chapter for more details". This seems to indicate that GPIOs used for UART inputs can be have modified drive strength, so is there a way to configure pull ups or pull downs as well?

Parents
  • Hi,

    The UART(E) pins can be configured with pull and high drive, there are no restriction in the HW there. Note that if use use the driver you can see the pin configuration in apply_config() in nrfx_uarte.c. That uses nrf_gpio_cfg_input() with NRF_GPIO_PIN_NOPULL for inputs (RXD and CTS) and nrf_gpio_cfg_output() for outputs (TXD and RTS). That means that any configuration you do before would be overwritten. Therefor you need to either modify the driver, or adjust the GPIO configuration after initializing the UARTE driver. You would typically use nrf_gpio_cfg() to write the desired configuration to the PIN_CNF register for each pin where you need to change the config.

Reply
  • Hi,

    The UART(E) pins can be configured with pull and high drive, there are no restriction in the HW there. Note that if use use the driver you can see the pin configuration in apply_config() in nrfx_uarte.c. That uses nrf_gpio_cfg_input() with NRF_GPIO_PIN_NOPULL for inputs (RXD and CTS) and nrf_gpio_cfg_output() for outputs (TXD and RTS). That means that any configuration you do before would be overwritten. Therefor you need to either modify the driver, or adjust the GPIO configuration after initializing the UARTE driver. You would typically use nrf_gpio_cfg() to write the desired configuration to the PIN_CNF register for each pin where you need to change the config.

Children
Related