#uart #cp2114 #cp2110

cp211x_uart

CP2110/CP2114芯片组的HID到UART驱动程序

6个版本

使用旧Rust 2015

0.2.2 2017年12月31日
0.2.0 2017年12月6日
0.1.3 2017年11月11日
0.1.0 2017年9月28日

1046硬件支持 中排名

32 每月下载量
2 个crates中使用(通过 ut181a

MIT 许可证

14KB
273

cp211x_uart

Documentation License: MIT Build Status

CP2110/CP2114芯片组的HID到UART驱动程序。它是围绕 hid::Handle 内置的。

有关详细信息,请参阅 文档

构建

Linux

$ sudo apt-get install libudev-dev libhidapi-dev
$ cargo build

用法

extern crate hid;
extern crate cp211x_uart;

use std::time::Duration;
use cp211x_uart::{HidUart, UartConfig, DataBits, StopBits, Parity, FlowControl};

fn run() -> Result<(), cp211x_uart::Error> {
    let manager = hid::init()?;
    for device in manager.find(Some(0x10C4), Some(0xEA80)) {
        let handle = device.open()?;
        let mut uart = HidUart::new(handle)?;

        let config = UartConfig {
            baud_rate: 9600,
            data_bits: DataBits::Bits8,
            stop_bits: StopBits::Short,
            parity: Parity::None,
            flow_control: FlowControl::None,
        };

        uart.set_config(&config)?;
        uart.set_read_timeout(Duration::from_millis(50));
        uart.set_write_timeout(Duration::from_millis(500));
        uart.flush_fifos(true, true)?;

        uart.write(&[0x01, 0x02, 0x03][..])?;
        let mut buf: [u8; 256] = [0; 256];
        uart.read(&mut buf)?;
    }
}

fn main() {
    match run() {
        Ok() => {}
        Err(err) => {
            eprintln!("ERROR: {}", err);
        }
    }
}

许可证

本库受以下许可证的约束

依赖项

约2.6–3.5MB
约74K SLoC