Crate eeprom [−] [src]
Flash-based EEPROM emulation for the STM32 series microcontrollers. Uses 2 or more Flash pages for storing 16-bit data.
Examples
extern crate stm32f103xx; extern crate eeprom; use stm32f103xx::FLASH; use eeprom::EEPROM; // Get flash somehow... // let flash = FLASH.borrow(cs); let eeprom = flash.eeprom(); eeprom.init().expect("failed to init EEPROM"); eeprom.write(1, 0xdead).expect("failed to write data to EEPROM"); eeprom.write(2, 0xbeef).expect("failed to write data to EEPROM"); assert_eq!(0xdead, eeprom.read(1).unwrap()); assert_eq!(0xbeef, eeprom.read(2).unwrap()); assert_eq!(true, eeprom.read(3).is_none());
Panics
EEPROM controller will panic in the following cases:
* No free space on the page even after compaction
* active page cannot be found during read
/write
operation (init
makes sure that there
is exactly one active page.
Structs
EEPROMController |
EEPROM controller. Uses Flash for implementing key-value storage for 16-bit data values. |
Traits
EEPROM |
EEPROM-capable peripheral. |