Microchip 25LCxx embedded-hal SPI driver crate
Rust HAL implementation (using SPI drivers) for Microchip's 25 series EEPROM chips.
Supported models:
Model | Datasheet | Density (bits) | Page size (bytes) |
---|---|---|---|
25LC080C | Link | 8k | 16 |
25LC080D | Link | 8k | 32 |
25LC160C | Link | 16k | 16 |
25LC160D | Link | 16k | 32 |
25LC320A | Link | 32k | 32 |
25LC640A | Link | 64k | 32 |
25LC128 | Link | 128k | 64 |
25LC256 | Link | 256k | 64 |
25LC512 | Link | 512k | 128 |
25LC1024 | Link | 1024k | 256 |
Usage
Include library as a dependency in your Cargo.toml
[dependencies.microchip-eeprom-25lcxx]
version = "<version>"
let mut e25x = new?;
e25x.release_from_deep_sleep_and_get_manufacturer_id;
// 24 bit address
let address = 0x55aa00u32;
let write_reg = e25x_write_from_address_command;
let write_reg: = write_reg.to_be_bytes;
let mut buffer = ;
// Set up write latch
e25x.write_enable;
let result = e25x.transfer;
let read_reg = e25x_read_from_address_command;
let read_reg: = read_reg.to_be_bytes;
let mut read_buffer = ;
e25x.transfer?;
assert_eq!;
assert_eq!;
assert_eq!;
Use embedded-hal implementation to get SPI and a GPIO OutputPin for the hold line, write protect line and chip select.