/******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : spi_flash.h * Author : MCD Application Team * Version : V2.0.1 * Date : 06/13/2008 * 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_lib.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) //#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(u32 SectorAddr); void SPI_FLASH_BulkErase(void); void SPI_FLASH_PageWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite); void SPI_FLASH_BufferWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite); void SPI_FLASH_BufferRead(u8* pBuffer, u32 ReadAddr, u16 NumByteToRead); u32 SPI_FLASH_ReadID(void); void SPI_FLASH_StartReadSequence(u32 ReadAddr); /*----- Low layer function -----*/ u8 SPI_FLASH_ReadByte(void); u8 SPI_FLASH_SendByte(u8 byte); u16 SPI_FLASH_SendHalfWord(u16 HalfWord); void SPI_FLASH_WriteEnable(void); void SPI_FLASH_WaitForWriteEnd(void); #endif /* __SPI_FLASH_H */ /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/