我有一个Android开发板。我想通过应用程序通过可用的 com 端口串行发送数据。这可能吗?如果是这样,有人可以展示它是如何完成的吗?我搜索了一个星期但找不到任何合适的东西。提前致谢。
最佳答案
首先,您必须确保串行端口硬件功能正常,并且适当的 Linux 内核驱动程序已链接或作为模块加载 - 这与任何其他嵌入式 Linux 相同,您可能想在此时测试它使用命令行工具或测试程序。
然后您需要使其可供应用程序访问。一般来说,有三种方法可以做到这一点。
您可以使串行端口的设备文件可供所有用户使用。这很简单,但由您决定任意应用程序完全访问串行端口是否会出现问题。
您可以创建一个新的unix组和相应的Android权限,设置包管理器根据权限分配组中的成员身份,并将设备文件分配给该组。这就是写入 SD 卡之类的事情的处理方式。
您可以限制对串行端口的访问,并创建一个特权守护进程,该守护进程将管理串行端口并代表 Android 应用程序执行通信,这些应用程序通过某些支持的 IPC 方式(例如 Binder、unix 套接字)与其联系等。很可能(至少如果使用 Binder)您会要求客户端应用程序持有您为串行端口访问创建的 Android 权限。这有点类似于发送短信之类的工作原理。
前两种方法可以让客户端应用程序(至少是 ndk 代码)使用 Linux 程序员熟悉的普通 posix 串行 API。第三种方法将串行端口呈现为 Android 风格的通信资源。
在编写任何代码之前,请先进行一些网络搜索。如果这个问题还没有多次得到解决,我会感到非常惊讶。
关于android - 如何访问Android开发包中的串口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291843/