There are other posts here that suggest this is possible and mention "pin crossbar", although they don't explain what that is.
I need to talk to two UART peripherals concurrently from one nRF51822. How do I add a second UART using GPIO pins?
There are other posts here that suggest this is possible and mention "pin crossbar", although they don't explain what that is.
I need to talk to two UART peripherals concurrently from one nRF51822. How do I add a second UART using GPIO pins?
Hi Eliot
What the pin crossbar does is allow you to decide exactly which GPIO's should be used for the TXD, RXD, CTS and RTS signals from the UART. This is controlled through the PSELTXD, PSELRXD, PSELRTS and PSELRTS registers in the UART, and you can set them anyway you like (as long as you don't set any of them to the same pin).
It is not possible to use the pin crossbar to run two UART's at the same time, but you can change this dynamically so that you can simulate two UART's by switching from one set of pins to another.
This will allow you to talk to two UART peripherals non-concurrently.
Best regards Torbjørn
This is very useful. Does anyone have a code example to illustrate setting these pin assignments? Hopefully reset will restore the defaults to that program loading is not affected. True?