访问Android上的本机串行端口

时间:2012-09-28 21:18:46

标签: android serial-port

我想让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处理器。我完全控制内核和权限。我已经修改了很多东西(蜂窝,触摸屏,LCD面板大小等),包括init.rc文件。

如何通过Android APK与这些设备通信?正如您所看到的,“s3c2410_serial1”来自用户“radio”,因为我从姜饼源代码中获取的原始系统在该串口上有一个GPRS模块。在init.rc中更改很容易。但这证明我们至少可以访问Android系统上的本机串口。

应用程序或服务不需要控制波特率或任何花哨的东西到APK。我只想发送和接收字符。内核可以设置默认波特率,我很满意。我甚至不需要控制RTS / CTS。

任何提示都表示赞赏。

1 个答案:

答案 0 :(得分:2)

我发现了一种方法。它似乎适用于任何类型的设备,因为它只是作为文件访问设备。请参阅链接android-serialport-api。它适用于任何类型的/ dev / ...在mhy的情况下,我必须安装NDK并通过所有的箍来使它工作。在C中完成了一段代码,它设置了波特率。实际上,open和close都是用C实现的,其余的都是标准的android java。