?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{FILE START}

library

?curdirlinks? - Rev 6

?prevdifflink? - Blame - ?getfile?

/*! \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
//
///     \ingroup driver_hw
/// \defgroup spieeprom Interface for standard SPI EEPROM memories (spieeprom.c)
/// \code #include "spieeprom.h" \endcode
/// \par Overview
///             This library provides functions for reading and writing standard
///     25Cxxx/25LCxxx SPI EEPROM memories.  Memory sizes up to 64Kbytes are
///     supported.  Future revisions may include page-write support.
///
/// \Note Library not fully tested!
//
// 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
{FILE END}
{FOOTER START}

Powered by WebSVN v2.8.3