3个版本 (破坏性)

0.2.0 2023年12月12日
0.1.0 2019年7月17日
0.0.1 2018年7月17日

#421 in 硬件支持

MIT/Apache

38KB
900

mcp2210-rs: Microchip MCP2210 库

最小Rust版本:1.63

MCP2210 数据手册

Build Status Latest release on crates.io Documentation on docs.rs

要使用 mcp2210,您需要将其和 hidapi 添加到依赖项中。

cargo add mcp2210 hidapi

⚠️ 注意:此代码在MCP2210的SPI总线上发送0xaa55。如果您有设备连接到SPI总线,请确保这不会对其造成损害。⚠️

此代码在MCP2210的SPI总线MOSI引脚上发送0xaa55,并断言同一数据同时从MISO引脚接收。为此所需的电路只是MOSI和MISO引脚之间的简单导线,没有真正的从设备。

use hidapi::HidApi;
use mcp2210::{open_first, Commands, SpiMode, SpiTransferSettings};

fn main() {
    let hidapi_context = HidApi::new().expect("Could not create hidapi context");
    let mut mcp = open_first(&hidapi_context).expect("Failed to connect");
    mcp.set_spi_transfer_settings(&SpiTransferSettings {
        bit_rate: 1_000,
        bytes_per_tx: 2,
        spi_mode: SpiMode::Mode0,
        ..Default::default()
    })
    .expect("Failed to set settings");
    let mut buf = Vec::new();
    mcp.spi_transfer_to_end(&[0xaa, 0x55], &mut buf)
        .expect("SPI transfer failed");
    assert_eq!(buf, [0xaa, 0x55]);
}

许可证

根据以下之一许可:

由您选择。

贡献

除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,不附加任何其他条款或条件。

依赖项

~0.5–10MB
~65K SLoC