14 个版本
0.0.13 | 2024年7月6日 |
---|---|
0.0.12 | 2024年7月6日 |
0.0.4 | 2024年6月24日 |
#257 在 嵌入式开发
每月 835 次下载
20KB
269 行
mcp2003a
嵌入式 Rust Microchip MCP2003A LIN 收发器驱动程序,适用于无 std 环境的 embedded-hal 特性。
使用 embedded-hal
数字特性用于 GPIO 和 embedded-hal-nb
串行特性用于 UART。
embedded-hal = "1.0.0"
- 与 0.2.x 实现相比有重大更改。embedded-hal-nb = "1.0.0"
- 使用nb
仓库下的附加非阻塞特性。
⚠️ 进行中
完整文档:https://docs.rs/mcp2003a/latest/mcp2003a/
参考
用法
将包添加到您的 Cargo.toml
cargo add mcp2003a
配置如下
let lin_bus_config = LinBusConfig {
speed: LinBusSpeed::Baud19200,
break_duration: LinBreakDuration::Minimum13Bits,
wakeup_duration: LinWakeupDuration::Minimum250Microseconds,
read_device_response_timeout: LinReadDeviceResponseTimeout::DelayMilliseconds(2),
inter_frame_space: LinInterFrameSpace::DelayMilliseconds(1),
};
let mut mcp2003a = Mcp2003a::new(
uart2_driver,
break_pin_driver,
delay,
lin_bus_config
);
mcp2003a.send_wakeup();
mcp2003a.send_frame(0x01, &[0x02, 0x03], 0x05).unwrap();
let mut read_buffer = [0u8; 11];
let len = mcp2003a.read_frame(0xC1, &mut read_buffer).unwrap();
完整示例
(即将推出)
- ESP-32 via ESP-RS - 使用 ESP-RS HAL 在 ESP-32 微控制器上使用 MCP2003A 的示例。
依赖项
~85KB