我应该如何测试 UART 端口是否正常工作?

问题描述

我想测试我的 UART(ttyMT1) 是否在我的自定义板(android 项目)上工作。我的板上有 2 个 UART - ttyMT0 ttyMT1。 UART ttymt0 是我的调试端口。我的板上也有 microcom

Test1:

我用母对母跳线连接了 ttyMT1 的 Tx 和 Rx。然后,在我的 ADB 上,我使用以下命令为 ttyMT1 打开 microcom:

microcom -s 115200 /dev/ttyMT1

在我的调试端口(使用 minicom)ttyMT0 上,我使用 echo 传输到 ttyMT1,如下所示:

echo -ne 'Hello' > /dev/ttyMT1

并且我能够在 ttyMT1 上打印传输的数据 (HELLO)。

我想知道的是,这足以验证我的 UART ttyMT1 工作正常还是我需要尝试其他方法

Test2:

我再次尝试的是使用 2 个独立的 USB 到 UART 连接器将 ttyMT0 连接到我电脑的 USB 端口,将 ttyMT1 连接到我电脑的另一个 USB 端口。然后我打开了 2 个 minicom,每个一个并尝试将相同的 HellottyMT0 传输到 ttyMT1ttyMT0 在我的 PC 上显示ttyUSB0,而 { {1}} 为 ttyMT1)。但我在 ttyUSB1 上没有收到任何印刷品。这是为什么?。

附言我无法在 ttyMT1 上输入任何内容。我在示波器上探测了 ttyMT1 并得到了 Tx 信号,但是当我在 Rx 上探测时,我的示波器没有得到任何信号。

解决方法

我认为您需要具有 SELinux 权限才能访问 android 中的串行端口。但是,请在此处检查此代码以读取串行端口:https://programmer.help/blogs/serial-port-operation-with-jni-method-under-android.html。它需要你 JNI。