#accelerometer #嵌入式-hal驱动 #模拟器件 #MEMS #SPI驱动

无需std adxl355

一个与ADXL355(加速度计)通过SPI接口的平台无关的驱动程序

5个版本

0.2.3 2020年2月14日
0.2.2 2020年2月14日
0.2.1 2020年2月14日
0.2.0 2020年2月13日
0.1.0 2019年12月30日

#940 in 嵌入式开发

每月21次下载

MIT/Apache

225KB
321

ADXL355嵌入式-hal SPI驱动程序crate

用法

在Cargo.toml中将作为依赖项包含

[dependencies.adxl355]
version = "<version>"

使用嵌入式-hal实现获取SPI和一个GPIO OutputPin用于芯片选择,然后创建加速度计句柄


use adxl355::{Adxl355, Accelerometer};

// to create sensor with default configuration:
let mut accelerometer = Adxl355::default(spi, cs)?;

// start measurements
accelerometer.start();

// to get 3d accerlation data:
let accel = accelerometer.acceleration()?;
println!("{:?}", accel);


// One can also use conf module to supply configuration:

use adxl355::{Adxl355, Config as ADXLConfig, ODR_LPF, Range, Accelerometer};

Adxl355::new(spi, cs,
                     ADXLConfig::new()
                     .odr(ODR_LPF::ODR_31_25_Hz)
                     .range(Range::_2G))?;

运行示例

Blackpill板(STM32F103)

基于stm32f103微控制器的示例 examples/blackpill.rs

构建示例

cargo build --example blackpill --features="stm32f103"

并立即运行。使用bmp.sh脚本通过black magic probe烧录(目前仅适用于MacOS)。

cargo run --example blackpill --features="stm32f103"

STM32G070 [禁用,直到下一个STM32G0xx-hal更新]

基于stm32g070微控制器的示例 examples/stm32g070.rs

构建示例

cargo build --example stm32g070 --features=stm32g070 --target thumbv6m-none-eabi

生成的ELF文件可以在target/thumbv6m-none-eabi/examples/下找到。

立即运行

cargo run --example stm32g070 --features=stm32g070 --target thumbv6m-none-eabi

这将使用flash.sh,假设st-link工具已添加到您的PATH中。

具有标准化数据的示例

cargo run --example norm_stm32g070 --features=stm32g070 --target thumbv6m-none-eabi

依赖关系

~565KB
~13K SLoC