我希望能让Android应用/服务访问原生串口(UART RS-232)。当我说原生时,我的意思是真正的UART而不是USB转串口适配器。我可以从终端看到它们(连接到四个原生串口之一)。这表明内核已经处理了底层的事情。
# 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
我使用的是Gingerbread操作系统。我在我的平台上将Android移植了,该平台配备了S5PV210处理器。我对内核和权限有完全的控制,已经对很多东西进行了修改(手机、触摸屏、液晶面板大小等),包括init.rc文件。
如何从Android APK与这些设备通讯?正如您所看到的,“s3c2410_serial1”来自用户“radio”,因为我取自Gingerbread源代码的原始系统在该串行端口上安装了GPRS模块。这在init.rc中很容易更改。但这只是证明我们至少可以在Android系统上访问本地串行端口。
应用程序或服务不需要通过APK控制波特率或其他花哨的东西。我只想发送和接收字符。内核可以设置默认波特率,我对此感到满意。我甚至不需要控制RTS/CTS。
任何指示都会被赞赏。