首页 > 解决方案 > 软件复用-解复用串口

问题描述

我有两块板,它们使用 UART 连接(TX、RX、CTS、RTS)连接。问题是我有 2 个进程需要使用相同的串行端口。从图形上看,问题如下所示:

进程 A1(主机)--- | 物理串行连接 |--- 进程 A2(控制器)
进程 B1(主机)--- | 物理串行连接 |--- 过程 B2(控制器)

基本上,板 1 中的进程 A1 与板 2 中的进程 A2 通信。B1 和 B2 类似。使用相同的物理串行连接。

如何在两个进程之间共享相同的物理串行连接?我不想修改应用程序端的代码,所以一切都应该对应用程序透明。我正在考虑使用类似于 GSM 07.10 ( https://www.kernel.org/doc/html/latest/driver-api/serial/n_gsm.html ) 的协议,为同一个串行连接创建几个虚拟 tty 然后它负责复用/解复用。但是,看起来 Linux 内核中不再维护 GSM 07.10,所以我正在考虑替代方案。你能建议吗?

标签: linux-kernelserial-portembedded-linux

解决方案


推荐阅读