我想让 Android 应用程序/服务访问本机串行端口 (UART RS-232)。当我说本机时,我指的是真正的 UART,而不是 USB 转串行加密狗。我可以从终端(连接到 4 个本机串行端口之一)看到它们。它表明内核已经处理了低级的事情。
# ls -l /dev
crw-rw-rw- system system 204, 67 2010-01-01 07:00 s3c2410_serial3
crw-rw-rw- system system 204, 66 2010-01-01 07:00 s3c2410_serial2
crw-rw-rw- system radio 204, 65 2010-01-01 07:00 s3c2410_serial1
crw-rw-rw- system system 204, 64 2010-01-01 07:00 s3c2410_serial0
我用姜饼。我已将 Android 移植到我的平台上,该平台配备 S5PV210 处理器。我完全控制内核和权限。我已经修改了很多东西(蜂窝、触摸屏、液晶面板尺寸等),包括 init.rc 文件。
我如何通过 Android APK 与这些设备通信?正如您所看到的,“s3c2410_serial1”来自用户“radio”,因为我获取 Gingerbread 源代码的原始系统在该串行端口上有一个 GPRS 模块。在 init.rc 中更改很容易。但这只是证明我们至少可以访问 Android 系统上的本机串行端口。
应用程序或服务不需要控制 APK 的波特率或任何花哨的东西。我只想发送和接收字符。内核可以设置默认波特率,我对此很满意。我什至不需要控制 RTS/CTS。
任何提示表示赞赏。
我找到了一个方法。它似乎适用于任何类型的设备,因为它只是将设备作为文件访问。查看链接android-串口-api http://code.google.com/p/android-serialport-api/。它适用于任何类型的 /dev/... 在我的情况下,我必须安装 NDK 并经历所有的喧闹才能让它工作。有一段用 C 语言编写的代码,用于设置波特率。事实上,open和close都是用C实现的,剩下的都是标准的android java。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)