2

我有一个Android开发板。我想通过应用程序通过可用的 com 端口串行发送数据。这可能吗?如果是这样,任何人都可以展示它是如何完成的吗?我正在寻找一个星期,但找不到任何合适的东西。提前致谢。

4

1 回答 1

2

首先,您必须确保串行端口硬件功能正常,并且适当的 linux 内核驱动程序已链接或作为模块加载 - 这与任何其他嵌入式 linux 相同,此时您可能希望使用命令对其进行测试线工具或测试程序。

然后,您需要使其可访问应用程序。大致而言,有三种方法可以做到这一点。

  • 您可以使串行端口的设备文件对所有用户可用。这很简单,但由您决定任意应用程序完全访问串行端口是否会成为问题。

  • 您可以创建一个新的 unix 组和相应的 Android 权限,将包管理器设置为根据权限分配组中的成员,并将设备文件分配给该组。这就是处理诸如写入 sdcard 之类的事情的方式。

  • 您可以限制对串行端口的访问并创建一个特权守护进程,该守护进程将管理串行端口并代表 android 应用程序执行通信,这些应用程序通过某些受支持的 IPC 方式联系它,例如 Binder、unix 套接字等。可能(在至少如果使用 Binder),您将需要客户端应用程序持有您为串行端口访问创建的 Android 权限。这有点类似于发送 SMS 消息的工作方式。

前两种方法将让(至少包含 ndk 代码)客户端应用程序使用 Linux 程序员熟悉的普通 posix 串行 API。第三种方法将串行端口呈现为 Android 风格的通信资源。

在编写任何代码之前,请先进行一些网络搜索。如果这个问题还没有被多次解决,我会感到非常惊讶。

于 2012-05-03T16:37:16.440 回答