Hello,
I'm trying to receive an inverted UART signal on the Arduino Nano 33 BLE (NRF52840). I've been able to invert the transmit signal okay using two GPIOTE channels and a PPI. Works great by sacrificing some GPIOTE, PPI and a pin. TX connects to one GPIOTE and on toggle PPI toggles the other GPIOTE. To make sure it doesn't get stuck in the wrong signal level I reset on every serial tx packet.
On the RX is where I'm having an issue trying to do something similar. I have 3 GPIOTE's and two PPI's.
GPIOTE 1 - On Rising Edge -> PPI 1 -> Clear GPIOTE 3
GPIOTE 2 - On Falling Edge -> PPI 2 -> Sets GPIOTE 3
If I connect the GPIOTE to an external pin it works as expected. I wasn't able to toggle like the TX because it kept getting stuck in the wrong level. This way works great.
The problem arises when I now try to connect the UARTE RX pin to the inverted GPIOTE 3 output pin. As soon as I do the inverted signal disappears from the pin. I'm guessing this isn't supported but thought I would ask anyway. I figure I could probably sacrifice another pin and connect together externally from my inverted to RX. But really don't want to resort to have to get the users to do this.
Thank you for any help!