/******************** (C) COPYRIGHT 2010 STMicroelectronics ******************** * File Name : spi_flash.h * Author : MCD Application Team * Version : V3.2.1 * Date : 07/05/2010 * Description : Header for spi_flash.c file. ******************************************************************************** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. *******************************************************************************/ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __SPI_FLASH_H #define __SPI_FLASH_H /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" /* Exported types ------------------------------------------------------------*/ /* Exported constants --------------------------------------------------------*/ /* Uncomment the line corresponding to the STMicroelectronics evaluation board used to run the example */ #if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM3210C_EVAL) //#define USE_STM3210B_EVAL #define USE_STM3210E_EVAL #endif #ifdef USE_STM3210B_EVAL #define GPIO_CS GPIOA #define RCC_APB2Periph_GPIO_CS RCC_APB2Periph_GPIOA #define GPIO_Pin_CS GPIO_Pin_4 #else /* USE_STM3210E_EVAL */ #define GPIO_CS GPIOB #define RCC_APB2Periph_GPIO_CS RCC_APB2Periph_GPIOB #define GPIO_Pin_CS GPIO_Pin_2 #endif /* Exported macro ------------------------------------------------------------*/ /* Select SPI FLASH: Chip Select pin low */ #define SPI_FLASH_CS_LOW() GPIO_ResetBits(GPIO_CS, GPIO_Pin_CS) /* Deselect SPI FLASH: Chip Select pin high */ #define SPI_FLASH_CS_HIGH() GPIO_SetBits(GPIO_CS, GPIO_Pin_CS) /* Exported functions ------------------------------------------------------- */ /*----- High layer function -----*/ void SPI_FLASH_Init(void); void SPI_FLASH_SectorErase(uint32_t SectorAddr); void SPI_FLASH_BulkErase(void); void SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); void SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); void SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); uint32_t SPI_FLASH_ReadID(void); void SPI_FLASH_StartReadSequence(uint32_t ReadAddr); /*----- Low layer function -----*/ uint8_t SPI_FLASH_ReadByte(void); uint8_t SPI_FLASH_SendByte(uint8_t byte); uint16_t SPI_FLASH_SendHalfWord(uint16_t HalfWord); void SPI_FLASH_WriteEnable(void); void SPI_FLASH_WaitForWriteEnd(void); #endif /* __SPI_FLASH_H */ /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/