STM32F1 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F1 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Groups
stm32f10x_fsmc.h File Reference

This file contains all the functions prototypes for the FSMC firmware library. More...

#include "stm32f10x.h"

Go to the source code of this file.

Data Structures

struct  FSMC_NORSRAMTimingInitTypeDef
 Timing parameters For NOR/SRAM Banks. More...
 
struct  FSMC_NORSRAMInitTypeDef
 FSMC NOR/SRAM Init structure definition. More...
 
struct  FSMC_NAND_PCCARDTimingInitTypeDef
 Timing parameters For FSMC NAND and PCCARD Banks. More...
 
struct  FSMC_NANDInitTypeDef
 FSMC NAND Init structure definition. More...
 
struct  FSMC_PCCARDInitTypeDef
 FSMC PCCARD Init structure definition. More...
 

Macros

#define FSMC_Bank1_NORSRAM1   ((uint32_t)0x00000000)
 
#define FSMC_Bank1_NORSRAM2   ((uint32_t)0x00000002)
 
#define FSMC_Bank1_NORSRAM3   ((uint32_t)0x00000004)
 
#define FSMC_Bank1_NORSRAM4   ((uint32_t)0x00000006)
 
#define FSMC_Bank2_NAND   ((uint32_t)0x00000010)
 
#define FSMC_Bank3_NAND   ((uint32_t)0x00000100)
 
#define FSMC_Bank4_PCCARD   ((uint32_t)0x00001000)
 
#define IS_FSMC_NORSRAM_BANK(BANK)
 
#define IS_FSMC_NAND_BANK(BANK)
 
#define IS_FSMC_GETFLAG_BANK(BANK)
 
#define IS_FSMC_IT_BANK(BANK)
 
#define FSMC_DataAddressMux_Disable   ((uint32_t)0x00000000)
 
#define FSMC_DataAddressMux_Enable   ((uint32_t)0x00000002)
 
#define IS_FSMC_MUX(MUX)
 
#define FSMC_MemoryType_SRAM   ((uint32_t)0x00000000)
 
#define FSMC_MemoryType_PSRAM   ((uint32_t)0x00000004)
 
#define FSMC_MemoryType_NOR   ((uint32_t)0x00000008)
 
#define IS_FSMC_MEMORY(MEMORY)
 
#define FSMC_MemoryDataWidth_8b   ((uint32_t)0x00000000)
 
#define FSMC_MemoryDataWidth_16b   ((uint32_t)0x00000010)
 
#define IS_FSMC_MEMORY_WIDTH(WIDTH)
 
#define FSMC_BurstAccessMode_Disable   ((uint32_t)0x00000000)
 
#define FSMC_BurstAccessMode_Enable   ((uint32_t)0x00000100)
 
#define IS_FSMC_BURSTMODE(STATE)
 
#define FSMC_WaitSignalPolarity_Low   ((uint32_t)0x00000000)
 
#define FSMC_WaitSignalPolarity_High   ((uint32_t)0x00000200)
 
#define IS_FSMC_WAIT_POLARITY(POLARITY)
 
#define FSMC_WrapMode_Disable   ((uint32_t)0x00000000)
 
#define FSMC_WrapMode_Enable   ((uint32_t)0x00000400)
 
#define IS_FSMC_WRAP_MODE(MODE)
 
#define FSMC_WaitSignalActive_BeforeWaitState   ((uint32_t)0x00000000)
 
#define FSMC_WaitSignalActive_DuringWaitState   ((uint32_t)0x00000800)
 
#define IS_FSMC_WAIT_SIGNAL_ACTIVE(ACTIVE)
 
#define FSMC_WriteOperation_Disable   ((uint32_t)0x00000000)
 
#define FSMC_WriteOperation_Enable   ((uint32_t)0x00001000)
 
#define IS_FSMC_WRITE_OPERATION(OPERATION)
 
#define FSMC_WaitSignal_Disable   ((uint32_t)0x00000000)
 
#define FSMC_WaitSignal_Enable   ((uint32_t)0x00002000)
 
#define IS_FSMC_WAITE_SIGNAL(SIGNAL)
 
#define FSMC_ExtendedMode_Disable   ((uint32_t)0x00000000)
 
#define FSMC_ExtendedMode_Enable   ((uint32_t)0x00004000)
 
#define IS_FSMC_EXTENDED_MODE(MODE)
 
#define FSMC_WriteBurst_Disable   ((uint32_t)0x00000000)
 
#define FSMC_WriteBurst_Enable   ((uint32_t)0x00080000)
 
#define IS_FSMC_WRITE_BURST(BURST)
 
#define IS_FSMC_ADDRESS_SETUP_TIME(TIME)   ((TIME) <= 0xF)
 
#define IS_FSMC_ADDRESS_HOLD_TIME(TIME)   ((TIME) <= 0xF)
 
#define IS_FSMC_DATASETUP_TIME(TIME)   (((TIME) > 0) && ((TIME) <= 0xFF))
 
#define IS_FSMC_TURNAROUND_TIME(TIME)   ((TIME) <= 0xF)
 
#define IS_FSMC_CLK_DIV(DIV)   ((DIV) <= 0xF)
 
#define IS_FSMC_DATA_LATENCY(LATENCY)   ((LATENCY) <= 0xF)
 
#define FSMC_AccessMode_A   ((uint32_t)0x00000000)
 
#define FSMC_AccessMode_B   ((uint32_t)0x10000000)
 
#define FSMC_AccessMode_C   ((uint32_t)0x20000000)
 
#define FSMC_AccessMode_D   ((uint32_t)0x30000000)
 
#define IS_FSMC_ACCESS_MODE(MODE)
 
#define FSMC_Waitfeature_Disable   ((uint32_t)0x00000000)
 
#define FSMC_Waitfeature_Enable   ((uint32_t)0x00000002)
 
#define IS_FSMC_WAIT_FEATURE(FEATURE)
 
#define FSMC_ECC_Disable   ((uint32_t)0x00000000)
 
#define FSMC_ECC_Enable   ((uint32_t)0x00000040)
 
#define IS_FSMC_ECC_STATE(STATE)
 
#define FSMC_ECCPageSize_256Bytes   ((uint32_t)0x00000000)
 
#define FSMC_ECCPageSize_512Bytes   ((uint32_t)0x00020000)
 
#define FSMC_ECCPageSize_1024Bytes   ((uint32_t)0x00040000)
 
#define FSMC_ECCPageSize_2048Bytes   ((uint32_t)0x00060000)
 
#define FSMC_ECCPageSize_4096Bytes   ((uint32_t)0x00080000)
 
#define FSMC_ECCPageSize_8192Bytes   ((uint32_t)0x000A0000)
 
#define IS_FSMC_ECCPAGE_SIZE(SIZE)
 
#define IS_FSMC_TCLR_TIME(TIME)   ((TIME) <= 0xFF)
 
#define IS_FSMC_TAR_TIME(TIME)   ((TIME) <= 0xFF)
 
#define IS_FSMC_SETUP_TIME(TIME)   ((TIME) <= 0xFF)
 
#define IS_FSMC_WAIT_TIME(TIME)   ((TIME) <= 0xFF)
 
#define IS_FSMC_HOLD_TIME(TIME)   ((TIME) <= 0xFF)
 
#define IS_FSMC_HIZ_TIME(TIME)   ((TIME) <= 0xFF)
 
#define FSMC_IT_RisingEdge   ((uint32_t)0x00000008)
 
#define FSMC_IT_Level   ((uint32_t)0x00000010)
 
#define FSMC_IT_FallingEdge   ((uint32_t)0x00000020)
 
#define IS_FSMC_IT(IT)   ((((IT) & (uint32_t)0xFFFFFFC7) == 0x00000000) && ((IT) != 0x00000000))
 
#define IS_FSMC_GET_IT(IT)
 
#define FSMC_FLAG_RisingEdge   ((uint32_t)0x00000001)
 
#define FSMC_FLAG_Level   ((uint32_t)0x00000002)
 
#define FSMC_FLAG_FallingEdge   ((uint32_t)0x00000004)
 
#define FSMC_FLAG_FEMPT   ((uint32_t)0x00000040)
 
#define IS_FSMC_GET_FLAG(FLAG)
 
#define IS_FSMC_CLEAR_FLAG(FLAG)   ((((FLAG) & (uint32_t)0xFFFFFFF8) == 0x00000000) && ((FLAG) != 0x00000000))
 

Functions

void FSMC_NORSRAMDeInit (uint32_t FSMC_Bank)
 Deinitializes the FSMC NOR/SRAM Banks registers to their default reset values. More...
 
void FSMC_NANDDeInit (uint32_t FSMC_Bank)
 Deinitializes the FSMC NAND Banks registers to their default reset values. More...
 
void FSMC_PCCARDDeInit (void)
 Deinitializes the FSMC PCCARD Bank registers to their default reset values. More...
 
void FSMC_NORSRAMInit (FSMC_NORSRAMInitTypeDef *FSMC_NORSRAMInitStruct)
 Initializes the FSMC NOR/SRAM Banks according to the specified parameters in the FSMC_NORSRAMInitStruct. More...
 
void FSMC_NANDInit (FSMC_NANDInitTypeDef *FSMC_NANDInitStruct)
 Initializes the FSMC NAND Banks according to the specified parameters in the FSMC_NANDInitStruct. More...
 
void FSMC_PCCARDInit (FSMC_PCCARDInitTypeDef *FSMC_PCCARDInitStruct)
 Initializes the FSMC PCCARD Bank according to the specified parameters in the FSMC_PCCARDInitStruct. More...
 
void FSMC_NORSRAMStructInit (FSMC_NORSRAMInitTypeDef *FSMC_NORSRAMInitStruct)
 Fills each FSMC_NORSRAMInitStruct member with its default value. More...
 
void FSMC_NANDStructInit (FSMC_NANDInitTypeDef *FSMC_NANDInitStruct)
 Fills each FSMC_NANDInitStruct member with its default value. More...
 
void FSMC_PCCARDStructInit (FSMC_PCCARDInitTypeDef *FSMC_PCCARDInitStruct)
 Fills each FSMC_PCCARDInitStruct member with its default value. More...
 
void FSMC_NORSRAMCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the specified NOR/SRAM Memory Bank. More...
 
void FSMC_NANDCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the specified NAND Memory Bank. More...
 
void FSMC_PCCARDCmd (FunctionalState NewState)
 Enables or disables the PCCARD Memory Bank. More...
 
void FSMC_NANDECCCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the FSMC NAND ECC feature. More...
 
uint32_t FSMC_GetECC (uint32_t FSMC_Bank)
 Returns the error correction code register value. More...
 
void FSMC_ITConfig (uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState)
 Enables or disables the specified FSMC interrupts. More...
 
FlagStatus FSMC_GetFlagStatus (uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
 Checks whether the specified FSMC flag is set or not. More...
 
void FSMC_ClearFlag (uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
 Clears the FSMC’s pending flags. More...
 
ITStatus FSMC_GetITStatus (uint32_t FSMC_Bank, uint32_t FSMC_IT)
 Checks whether the specified FSMC interrupt has occurred or not. More...
 
void FSMC_ClearITPendingBit (uint32_t FSMC_Bank, uint32_t FSMC_IT)
 Clears the FSMC’s interrupt pending bits. More...
 

Detailed Description

This file contains all the functions prototypes for the FSMC firmware library.

Author
MCD Application Team
Version
V3.3.0
Date
04/16/2010

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.

© COPYRIGHT 2010 STMicroelectronics