
MCP23017
MCP23017带有串行接口模块的16位I2C I/O扩展器
2
Github Watches
16
Github Forks
13
Github Stars
mcp23017
no_std driver for MCP23017 (16-Bit I2C I/O Expander with Serial Interface module)
Basic usage
Include this library as a dependency in your Cargo.toml
:
[dependencies.mcp23017]
version = "<version>"
Use embedded-hal implementation to get I2C handle and then create mcp23017 handle:
extern crate mcp23017;
match mcp23017::MCP23017::default(i2c) {
Ok(mut u) => {
u.init_hardware();
u.pin_mode(1, mcp23017::PinMode::OUTPUT); // for the first pin
u.all_pin_mode(mcp23017::PinMode::OUTPUT); // or for all pins
let status = u.read_gpioab().unwrap();
println!("all {:#?}", status).unwrap();
let read_a = u.read_gpio(mcp23017::Port::GPIOA).unwrap();
println!("port a {:#?}", read_a).unwrap();
match u.write_gpioab(65503){
Ok(_) => {
println!("ok").unwrap();
}
_ => {
println!("something wrong").unwrap();
}
}
}
Err(mcp23017::MCP23017::Error::BusError(error)) => {
println!("{:#?}", error).unwrap();;
panic!();
}
_ => {
panic!();
}
};
Hardware address pins
Documentation
API Docs available on docs.rs
License
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Reviews

user_OxbJBuRR
The mcp23017 by circuitry-maker has been an essential component in my projects, offering seamless expansion for GPIO pins on microcontrollers. The ease of integration and robust performance make it a must-have for anyone looking to enhance their hardware setups. Highly recommended for both beginners and advanced users! Check it out at https://github.com/circuitry-maker/mcp23017.