1个不稳定版本
0.1.0 | 2022年4月3日 |
---|
#1044 in 嵌入式开发
495KB
11K SLoC
文档
ad9361-rs
与Analog Devices Inc. no-OS库的AD9361部分的绑定。
用法
use ad9361_rs::{Ad9361, Ad9361InitParam};
use embedded_hal::blocking::spi::Transfer;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::blocking::delay::{DelayMs, DelayUs};
fn example(spi: impl Transfer<u8>,
delay: impl DelayMs<u32> + DelayUs<u32>,
reset_n: impl OutputPin)
{
let parameters: Ad9361InitParam = Default::default();
let heap = Vec::with_capacity(540);
let mut ad9361 = Ad9361::new(spi, delay, Some(reset_n), heap); // ad9361 must not be moved after this point
ad9361.init(parameters).unwrap();
let _temperature = ad9361.get_temperature().unwrap();
}
#[no_std]
要在no_std环境中使用此crate,请在Cargo.toml中指定 default-features = false
。然后您需要指定支持的一种设备特性。
ad9361_device
ad9364_device
ad9363a_device
ad9361-rs = { default-features = false, features = ["ad9364_device"] }
此crate的构建过程需要C编译器。在交叉编译时,您需要确保已安装合适的编译器。如果需要,cc crate 支持通过环境变量进行外部配置外部配置通过环境变量
测试
此crate支持测试中的 env_logger
日志输出,请尝试
RUST_LOG=info cargo test
许可证
有关no-OS库的许可条款,请参阅no-OS库。
此作品许可为以下其中之一
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,都应按上述方式双重许可,不得附加任何额外条款或条件。
依赖
~1.1–4MB
~77K SLoC