问题描述
我想测试我的 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,每个一个并尝试将相同的 Hello
从 ttyMT0
传输到 ttyMT1
(ttyMT0
在我的 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。