gpt4 book ai didi

c++ - 确定串口是否存在,Linux C/C++

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:08 28 4
gpt4 key购买 nike

我的开发目标是一台 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?

谢谢!

最佳答案

stty 使用的“C-API”是tcsetattr(3)tcgetattr(3)

要在不打开设备的情况下查找 TTY,您可以查看以下问题:

How to find all serial devices (ttyS, ttyUSB, ..) on Linux without opening them?

关于c++ - 确定串口是否存在,Linux C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10078764/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com