3个版本 (破坏性)
0.2.0 | 2023年12月12日 |
---|---|
0.1.0 | 2019年7月17日 |
0.0.1 | 2018年7月17日 |
#421 in 硬件支持
38KB
900 行
mcp2210-rs: Microchip MCP2210 库
最小Rust版本:1.63
要使用 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版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,不附加任何其他条款或条件。
依赖项
~0.5–10MB
~65K SLoC