Serial voltage levels problem

I’m trying to program a serial connection in C and while debugging I measured the following output on my TXD pin. The output is constantly high (3.3V) until some data is sent, which is to be expected. However, the low voltage measures at 2.9V which is still considered a logic 1. Does anyone have any idea why it wouldn’t be between 0V and 0.8V which would make it a logic 0?

Sounds like something is holding it high. If nothing is connected, it should go to ground.


Hi Gerald, thanks for your help but there’s nothing else connected. I have one wire coming from P9 pin 1 which the scope’s ground is clipped onto and another wire from P9 pin 24 which the scope’s probe is hooked onto. Those are my only connections. The board is powered by USB. The TXD was configured using:

echo 0 > /sys/kernel/debug/omap_mux/uart1_txd

and using a cat command on it gives…

name: uart1_txd.uart1_txd (0x44e10984/0x984 = 0x0000), b NA, t NA
signals: uart1_txd | mmc2_sdwp | d_can1_rx | i2c1_scl | NA | pr1_uart0_txd_mux1 | NA | gpio0_15

Sorry, false alarm. I just had the scope configured wrong, everything is working as expected now.
Thanks again.

I wish all issues were scope issues! :^)