我的开发目标是一台 Linux 计算机,它有两个物理串行端口位于 /dev/ttyS0 和 /dev/ttyS1。我还希望定义 /dev/ttyS2 和 /dev/ttyS3。
使用 stty -f /dev/ttyS0 和 S1 报告两个串行端口的配置,并报告 S2 和 S3 的“不存在”的东西。
硬件设计人员正在讨论提供 USB 到内置于主板上的串行端口。它们将是外部的 DB9 连接器,只是电路 - 内部没有 USB 连接器。无法保证 USB 到串行连接的数量,我知道足以设计“许多”而不是一个。
因此,在设置我的端口服务器守护进程时,我需要能够确定哪些 ttyS 和哪些 ttyUSB 是“真实的”,哪些不是。会有占位符 ttyUSB 吗?如果要“拔掉插头”(假设它确实是 PC 内部真正的 USB 耦合器)怎么办?
有比 popen()ing stty 并检查其输出以确定串行端口的状态更好的方法吗?stty 有 C API 吗?
谢谢!