I have 3 devices that can communicate via UART:
1) nRF52840-DK (PCA10056)
2) FTDI (set to 5v logic)
3) BLE HM-19
I'm using the example in ./nRF5_SDK_16/nRF5SDK160098a08e2/examples/peripheral/serial_uartes
If I connect the FTDI to the NRF, I'm able to send and receive data.
ftdi.5v to nrf.5v
ftdi.gnd to nrf.gnd
ftdi.rx to P0.27
ftdi.tx to P0.26
If I connect the FTDI to the HM-19, I'm able to send and receive data.
ftdi.5v to hm.5v
ftdi.gnd to hm.gnd
ftdi.rx to hm.tx
ftdi.tx to hm.rx
But if I connect the NRF to the HM-19, it doesn't work.
hm.5v to nrf.5v
hm.gnd to nrf.gnd
hm.rx to P0.27
hm.tx to P0.26
I have set the baudrate to 9600 on every device.
I tried swapping RX, TX.
I also tried first connecting RX,TX followed by power. Also the other way around power first and then connect RX, TX.
This is how I configure the uart:
NRF_SERIAL_DRV_UART_CONFIG_DEF(m_uarte0_drv_config, ARDUINO_SDA_PIN, ARDUINO_SCL_PIN, RTS_PIN_NUMBER, CTS_PIN_NUMBER, NRF_UART_HWFC_DISABLED, NRF_UART_PARITY_EXCLUDED, NRF_UART_BAUDRATE_9600, UART_DEFAULT_CONFIG_IRQ_PRIORITY);