1 个不稳定版本

0.0.1 2023年5月30日

#23 in #ftdi

MIT 许可证

6KB

crates.io docs.rs CI

libftd3xx

Rust 对 FTDI D3XX 驱动程序的封装。

该库将 libftd3xx-ffi 的 C 绑定库封装为 Rust 安全封装。

使用方法

只需将此包作为依赖项添加到您的 Cargo.toml 文件中。

[dependencies.libftd3xx]
version = "0.0.1"
# statically link the vendor library, defaults to dynamic if not set
# this will make things "just work" on Linux and Windows
features = ["static"]

这是一个基本的示例,以帮助您入门。请参阅源代码或文档以获取更多示例。

use libftd3xx::{Ftdi, FtdiCommon};

let mut ft = Ftdi::new()?;
let info = ft.device_info()?;
println!("Device information: {:?}", info);

此包只是 FTD3XX 驱动程序的封装;使用 embedded-hal 特性的 I2C、SPI 和 GPIO 示例可以在 ftdi-embedded-hal 中找到。

udev 规则

要在 Linux 上以普通用户身份访问 FTDI USB 设备,您需要更新 udev 规则。

创建一个名为 /etc/udev/rules.d/99-ftdi.rules 的文件,并包含以下内容:

SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE="0666"

然后,重新加载规则

sudo udevadm control --reload-rules
sudo udevadm trigger

链接

默认情况下,此包将使用动态链接到供应商库。使用 static 功能标志以启用静态链接。

Linux 上的动态链接

系统上必须存在共享对象 libftd3xx.so。有关说明,请参阅 FTDI 驱动程序 Linux 安装指南

Windows 上的动态链接

FTD3XX DLL 必须存在于您的系统 PATH 中。安装此 DLL 最简单的方法是使用供应商提供的 [设置可执行文件]。

Linux 或 Windows 上的静态链接

不需要特殊考虑,静态库随 libftd3xx-ffi 包一起分发,并已获得 FTDI 的许可。

参考

故障排除

Linux 上的未知设备

删除 VCP FTDI 驱动程序。

sudo rmmod ftdi_sio
sudo rmmod usbserial

有关更多详细信息,请参阅 FTDI 驱动程序 Linux 安装指南

依赖项

~36MB