#i2c #嵌入式-hal驱动 #gpio #i2c总线

无std tca9535

TCA9535端口扩展器的嵌入式-hal驱动程序

1个不稳定版本

0.1.0 2020年6月2日

#1391 in 嵌入式开发

BSD-2-Clause

12KB
173

TCA9535 I/O 扩展器嵌入式-hal i2c 驱动程序

来源于 数据表

TCA9535是一款24引脚设备,为双线双向I2C总线或(SMBus)协议提供16位通用并行输入/输出(I/O)扩展。设备可在1.65 V至5.5 V的电源电压范围内工作。

用法

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

dependencies.tca9535 版本 = "0.1"

使用 embedded-hal 实现获取芯片的i2c总线,然后创建句柄。

use tca9535::{Tca9535, Address, Port};

// Obtain an i2c bus using embedded-hal
// let mut i2c = ...;

// Note that the handle does *not* capture the i2c bus
// object and that the i2c bus object must be supplied for each method call.
// This slight inconvenience allows sharing the i2c bus between peripherals.
let gpio = Tca9535::new(&i2c, Address::ADDR_0x20);

// Set all outputs low
gpio.clear_outputs(&mut i2c)?;

// Set port P01 and P05 as inputs and the rest as outputs.
gpio.write_config(&mut i2c, Port::P01 | Port::P05)?;

// Read pin input logic levels
let inputs = gpio.read_inputs(&mut i2c)?;

// Do something if port P01 is high:
if inputs & Port::P01 {
    // ...
}

依赖项

~175KB