【发布时间】:2011-07-21 06:35:55
【问题描述】:
我想在 Linux Android 上开发一个通过 USB 控制串行设备的应用程序。
支持 USB 主机的 Android 操作系统是 3.1。
Q1:请告诉我如何获取串口设备挂载的端口。
当我在 Dalvik 调试监视器上获得“转储设备状态”时,我得到了可能的 USB 设备信息。
而且,我使用 adb 在 android 设备上检查了 /dev/tty*。
我不知道串口设备是哪一个(/dev/tty??)。
adb 外壳
$ ls /dev/tty*
/dev/tty
/dev/ttyFIQ0
/dev/ttyHS0
/dev/ttyHS2
/dev/ttyHS3
/dev/ttyHS4
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3
Q2:请告诉我如何在没有root权限的情况下在Android上控制串口设备。
我有一个应用程序(exe)可以控制 linux 上的串行设备。
我试图在 android 上做,但我不能做权限被拒绝。
而且,我尝试重定向到串行端口(也许)
$ ls > /dev/ttyS0
但我做不到。
无法创建 /dev/ttyS0:权限被拒绝。
请告诉我如何控制和访问串行设备。
【问题讨论】:
-
要利用 Android USB 主机功能及其相应的 API 执行此操作,您必须在应用程序的用户空间中实现 USB 串行驱动程序代码。最终不会涉及内核“串行”驱动程序或设备。
-
哪个串口设备?可以有数百个!请具体说明您想要做什么。
标签: android serial-port usb usbserial