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

UART/Serial Port Emulation over BLE example doesn't receive over UART (only transmits)

I successfully compiled and loaded the UART/Serial Port Emulation over BLE example on an AdaFruit Feather board.

I can connect to the Nordic UART Service, then send data from the nRF Connect app (Rx Characteristic) to the Feather board (nRF52832) and see the data go out the Feather/nRF52832 UART and into my UART USB dongle and appear on the Linux minicom terminal.

What doesn't work is:

1) I never see the "UART started!" string when the application first starts.

2) I type characters (with newline) on the Linux minicom terminal and I can see on the oscilloscope data on the Feather/RF52832 Rx line, but the application never sees an RX data interrupt fire, and therefore never sends the characters across BLE to the nRF Connect app.

Ubuntu Linux 16.04.6 LTS

S132 SoftDevice v7.0.1

Nordic SDK v16.0.0

(Downloading 'ble_app_uart_pca10040_s132.elf' to J-Link)

Parents
  • Yes, I am using an unmodified version of the UART example in the SDK.

    I have the debugger running and see the NRF_UARTE_EVENT_ENDTX interrupt in uarte_irq_handler.

    However, I never see the RX interrupt activate (after typing from the terminal).

    I captured the signal from the Tx pin which shows delta V as 2.9V

    I then captured the signal from the Rx pin which shows delta V as 1.68V

    Is there possibly something set incorrectly on the RX GPIO input pin that would fight the incoming signal and prevent an interrupt?

Reply
  • Yes, I am using an unmodified version of the UART example in the SDK.

    I have the debugger running and see the NRF_UARTE_EVENT_ENDTX interrupt in uarte_irq_handler.

    However, I never see the RX interrupt activate (after typing from the terminal).

    I captured the signal from the Tx pin which shows delta V as 2.9V

    I then captured the signal from the Rx pin which shows delta V as 1.68V

    Is there possibly something set incorrectly on the RX GPIO input pin that would fight the incoming signal and prevent an interrupt?

Children
No Data
Related