/** ****************************************************************************** * @file stm32303c_eval_spi_ee.h * @author MCD Application Team * @version V1.0.1 * @date 23-October-2012 * @brief This file contains all the functions prototypes for the stm32303c_eval_spi_ee * firmware driver. ****************************************************************************** * @attention * *

© COPYRIGHT 2012 STMicroelectronics

* * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __STM32303C_EVAL_SPI_EE_H #define __STM32303C_EVAL_SPI_EE_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32303c_eval.h" /** @addtogroup Utilities * @{ */ /** @addtogroup STM32_EVAL * @{ */ /** @addtogroup STM32303C_EVAL * @{ */ /** @addtogroup STM32303C_EVAL_SPI_EE * @{ */ /** @defgroup STM32303C_EVAL_SPI_EEPROM_Exported_Types * @{ */ /** * @} */ /** @defgroup STM32303C_EVAL_SPI_EEPROM_Exported_Constants * @{ */ /** * @brief M95 SPI EEPROM supported commands */ #define sEE_CMD_WREN 0x06 /*!< Write enable instruction */ #define sEE_CMD_WRDI 0x04 /*!< Write disable instruction */ #define sEE_CMD_RDSR 0x05 /*!< Read Status Register instruction */ #define sEE_CMD_WRSR 0x01 /*!< Write Status Register instruction */ #define sEE_CMD_WRITE 0x02 /*!< Write to Memory instruction */ #define sEE_CMD_READ 0x03 /*!< Read from Memory instruction */ /** * @brief M95M01 SPI EEPROM defines */ #define sEE_WIP_FLAG 0x01 /*!< Write In Progress (WIP) flag */ #define sEE_DUMMY_BYTE 0xA5 #define sEE_PAGESIZE 256 /** * @} */ /** @defgroup STM32303C_EVAL_SPI_EEPROM_Exported_Macros * @{ */ /** * @brief Select EEPROM: Chip Select pin low */ #define sEE_CS_LOW() GPIO_ResetBits(sEE_SPI_CS_GPIO_PORT, sEE_SPI_CS_PIN) /** * @brief Deselect EEPROM: Chip Select pin high */ #define sEE_CS_HIGH() GPIO_SetBits(sEE_SPI_CS_GPIO_PORT, sEE_SPI_CS_PIN) /** * @} */ /** @defgroup STM32303C_EVAL_SPI_EEPROM_Exported_Functions * @{ */ /** * @brief High layer functions */ void sEE_DeInit(void); void sEE_Init(void); uint32_t sEE_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead); void sEE_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite); uint32_t sEE_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t* NumByteToWrite); uint32_t sEE_WaitEepromStandbyState(void); /** * @brief Low layer functions */ uint8_t sEE_ReadByte(void); uint8_t sEE_SendByte(uint8_t byte); void sEE_WriteEnable(void); void sEE_WriteDisable(void); void sEE_WriteStatusRegister(uint8_t regval); uint8_t sEE_ReadStatusRegister(void); #ifdef __cplusplus } #endif #endif /* __STM32303C_EVAL_SPI_EE_H */ /** * @} */ /** * @} */ /** * @} */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/