串行端口未获得可用端口
serialport not getting available port
我正在尝试获取有关 Rust 中可用串行端口的信息,以确定我对使用 serialport 板条箱发送数据感兴趣的串行端口。
通过做:
serialport::available_ports();
我应该能够获得可用端口的列表。当我以 root 运行 程序(以避免 PermissionDenied
错误)时,我得到的唯一结果是
SerialPortInfo { port_name: "/dev/ttyS0", port_type: "Unknown" }
我试图删除所有 USB 设备和 运行 程序,但结果是一样的。所以我猜 /dev/ttyS0
是一个 USB 集线器,但它很奇怪,因为它没有显示我的 U 盘、键盘、鼠标或网络摄像头。
我尝试打开每个 /dev/ttyS{number}
,但唯一打开的是 /dev/ttyS0
。
这是我的 Cargo.toml
文件:
libudev = "0.3.0"
libudev-sys = "0.1.4"
serialport = { version = "4.1.0", default-features = true }
serial = "0.4.0"
我在 Arch Linux 上,程序需要在 Linux 上 运行。我在系统上安装了 pkg-config
依赖项并且也有 udev
尽管是“通用串行总线”,USB 上的设备无法识别为通过串行端口连接。其实从电气上讲它连公交车都算不上
只有提供传统串行传输(如 RS232 或 RS485)的设备属于此类,通常称为“COM 端口”。
虽然有通过 USB 连接的串口。这些“虚拟串行 COM 设备”通常具有 USB 设备类型 CDC/ACM,并将报告为 /dev/ttyACM{number}。
最后一行:您不能通过串行端口访问 USB 设备,虚拟串行 COM 设备除外。
我正在尝试获取有关 Rust 中可用串行端口的信息,以确定我对使用 serialport 板条箱发送数据感兴趣的串行端口。
通过做:
serialport::available_ports();
我应该能够获得可用端口的列表。当我以 root 运行 程序(以避免 PermissionDenied
错误)时,我得到的唯一结果是
SerialPortInfo { port_name: "/dev/ttyS0", port_type: "Unknown" }
我试图删除所有 USB 设备和 运行 程序,但结果是一样的。所以我猜 /dev/ttyS0
是一个 USB 集线器,但它很奇怪,因为它没有显示我的 U 盘、键盘、鼠标或网络摄像头。
我尝试打开每个 /dev/ttyS{number}
,但唯一打开的是 /dev/ttyS0
。
这是我的 Cargo.toml
文件:
libudev = "0.3.0"
libudev-sys = "0.1.4"
serialport = { version = "4.1.0", default-features = true }
serial = "0.4.0"
我在 Arch Linux 上,程序需要在 Linux 上 运行。我在系统上安装了 pkg-config
依赖项并且也有 udev
尽管是“通用串行总线”,USB 上的设备无法识别为通过串行端口连接。其实从电气上讲它连公交车都算不上
只有提供传统串行传输(如 RS232 或 RS485)的设备属于此类,通常称为“COM 端口”。
虽然有通过 USB 连接的串口。这些“虚拟串行 COM 设备”通常具有 USB 设备类型 CDC/ACM,并将报告为 /dev/ttyACM{number}。
最后一行:您不能通过串行端口访问 USB 设备,虚拟串行 COM 设备除外。