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

NRF52832 Uart Flow Control / CLI

When P0.15 is held high, the nrf_cli fails to talk to my computer via serial. Lowering P0.15 allows all buffered bytes to be sent to my terminal.

Oddly, Pin 15 is not part of my UART CONFIG.

As stated in: cli/uart/nrf_cli_uart.c

const app_uart_comm_params_t comm_params =
  {                        
      RX_PIN_NUMBER,       
      TX_PIN_NUMBER,
      RTS_PIN_NUMBER,
      CTS_PIN_NUMBER,
      APP_UART_FLOW_CONTROL_ENABLED,
      false,
      UART_BAUDRATE_BAUDRATE_Baud115200
  };

I have defined the following custom_board.h:

#define RX_PIN_NUMBER  19
#define TX_PIN_NUMBER  20
#define CTS_PIN_NUMBER 17
#define RTS_PIN_NUMBER 18

And have verified by printing said constants on the CLI.

Is there any other relationship between P0.15 and UART which would somehow "hold back" the uart from talking?

Other freertos tasks are running fine. Only UART seems to be held up.

Changing flow control from APP_UART_FLOW_CONTROL_ENABLED to APP_UART_FLOW_CONTROL_DISABLED fixes the problem, but again, I did not configure P0.15 as part of the UART.

In general, do people copy the nrf_cli and modify it like crazy to suit their needs? Or is it better to try to use nrf_cli the way it's provided "in most cases"?

Thanks!

Related