1.0.5 |
|
---|---|
1.0.4 |
|
#5 in #inter
每月45次下载
7KB
Cylinder
Cylinder 是一个嵌入式 Rust 库,提供类型安全的 MCU/MPU 通信,支持 #![no_std]
。我创建它是因为在没有类型安全的情况下处理复杂的 MCU 通信非常困难,但使用 Cylinder,您不必担心为命令、冲突和其他非类型安全通信问题定义独特的 u8
值。
目录
概述
Cylinder 通过提供在构建时运行的进程宏来允许类型安全通信,可以将该宏应用于枚举类型。例如
use embedded_cylinder::CylinerBuildU8;
#[derive(CylinerBuildU8)]
enum Test {
MyEnum1,
MyEnum2,
MyEnum3,
MyEnum4
}
在构建时,为枚举添加了一个实现,将枚举的每个变体映射到一个唯一的值。您可以像这样获取
let val : u8 = Test::get_u8(Test::MyEnum2);
跨二进制文件的使用
要跨多个二进制文件使用 Cylinder,您可以在包含您的类型接口的本地库中定义,然后将该库导入到您的二进制文件中。
示例
您可以在 Git 仓库的 examples/
目录中找到示例
安装
您可以使用以下方式安装它
cargo add embedded_cylinder
贡献
如果您有任何改进库的想法,请创建一个 PR 或问题,我会很高兴审查它!
依赖关系
~1.5MB
~35K SLoC