Apps effect on UART pins


I measure NX UART0 waveform, and this deivce path is /dev/ttyTHS1.
Here are some questions.

As I know, NX’s UART TX/RTS behaviora as below,
When Tx send signals, RTS will be low.
Here are waveform of TX and RTS, it correct behavior.
I open Terminal and command “echo aabbcc > /dev/ttyTHS1

When I command “cat /dev/ttyTHS1” in Terminal, RTS will be LOW.

I thought it should be HIGH even if I command “cat”.

Exited cat command, and command “minicom -D /dev/ttyTHS1”.
Minicom default Hardware flow control is No.
You can see that there are a low pulse when I command “minicom -D /dev/ttyTHS1
RTS will be HIGH in minicom window.
The same time I don’t key-in any command in minicom, so TX always be HIGH.
I just want to check RTS behavior.

After I enabled Hardware flow control (Hardware flow control : YES), RTS always be LOW.
It will be HIGH when I change Hardware flow control back(Hardware flow control : NO)

It seems that RTS behavior will affected by APPs. Do you have any recommand APPs?
And is it correct that RTS will be LOW when I use Terminal and command “echo aabbcc > /dev/ttyTHS1


Hi allison_chen,

Are you using the devkit or custom board for Xavier NX?
What’s your Jetpack version in use?

The current behavior seems expected for me.
If you enable HW flow control in your serial application, the behavior would be like the following.
TX line is by default high, at the start of transmission it is pulled low for 1 cycle.
RTS is connected to CTS of the receiver, data transmission is allowed when the receiver signals (Clear to Send) by pulling CTS high.

Hi Kevin,

May I know what kind of App you used when you test Uart port?


JetPack version is 4.6.2

If you want to verify UART function, you could just use minicom for it.
If you have custom use case, you might need to write your own UART application through python or C.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.