/*! \file spieeprom.h \brief Interface for standard SPI EEPROM memories. */ //***************************************************************************** // // File Name : 'spieeprom.h' // Title : Interface for standard SPI EEPROM memories // Author : Pascal Stang - Copyright (C) 2004 // Created : 2004.10.07 // Revised : 2004.10.07 // Version : 0.1 // Target MCU : Atmel AVR series // Editor Tabs : 4 // // This code is distributed under the GNU Public License // which can be found at http://www.gnu.org/licenses/gpl.txt // //***************************************************************************** #ifndef SPIEEPROM_H #define SPIEEPROM_H #include "global.h" // defines and constants // commands #define SPIEEPROM_CMD_READ 0x03 //< Read byte(s) #define SPIEEPROM_CMD_WRITE 0x02 //< Write byte(s) #define SPIEEPROM_CMD_WREN 0x06 //< Write Enable #define SPIEEPROM_CMD_WRDI 0x04 //< Write Disable #define SPIEEPROM_CMD_RDSR 0x05 //< Read Status Register #define SPIEEPROM_CMD_WRSR 0x01 //< Write Status Register // status register bit defines #define SPIEEPROM_STATUS_WIP 0x01 //< Write in progress #define SPIEEPROM_STATUS_WEL 0x01 //< Write enable #define SPIEEPROM_STATUS_BP0 0x01 //< Block Proection 0 #define SPIEEPROM_STATUS_BP1 0x01 //< Block Proection 1 #define SPIEEPROM_STATUS_WPEN 0x01 //< Write Protect Enable // functions //! Initialize SPI EEPROM interface void spieepromInit(void); //! In the SPI EEPROM read a byte from memory location [memAddr] u08 spieepromReadByte(u32 memAddr); //! In the SPI EEPROM write a byte [data] to the memory location [memAddr] void spieepromWriteByte(u32 memAddr, u08 data); void spieepromWriteEnable(void); void spieepromWriteDisable(void); u08 spieepromReadStatus(void); #endif