在安卓/linux环境下如何同时与多个串口进行通讯?

发布于 2022-09-11 14:37:01 字数 441 浏览 18 评论 0

问题描述

在安卓环境下同时打开两个串口 其中一个收到指令后发送指令到另一个串口 但是第二个串口的命令会出现阻塞现象 经常会返回乱码或者两条指令合并为一条发送

问题出现的环境背景及自己尝试过哪些方法

环境为rk3288开发板 Android5.0操作系统 串口为ttl电平 接口使用的是网上流传最广的谷歌android-serialport-api编译的jni库 添加打开串口命令的flags参数O_NONBLOCK(非阻塞模式)之后没有任何帮助 在Windows系统下测试没有任何问题

相关代码

mFd = open(path, baudRate, O_NOCTTY | O_NONBLOCK);

你期待的结果是什么?实际看到的错误信息又是什么?

希望两个串口能够同时工作不受IO阻塞的干扰

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人骨 2022-09-18 14:37:01

我了个擦 最后打了安卓主板厂商技术支持电话才知道 两个TTL不能同时使用。。。 所以并不存在“同时使用两个串口需要注意哪些问题”这个命题

七色彩虹 2022-09-18 14:37:01

当多个串口时, 你 open 函数的 path 参数不一样就可以了

比中我机器上的串口路径:

$ls /dev/tty*
/dev/tty.Bluetooth-Incoming-Port 
/dev/tty.maciPhone-WirelessiAP 
...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文