stm32f103单片机FSMC外设学习

    科技2023-09-18  102

    `在这里插入代码片

    typedef struct { uint32_t FSMC_AddressSetupTime; //地址建立时间 uint32_t FSMC_AddressHoldTime; //地址保持时间 uint32_t FSMC_DataSetupTime; /*数据建立时间 */ uint32_t FSMC_BusTurnAroundDuration; /*本成员设置总线转换周期,在 NOR FLASH 存储器中,地址线与数据线可以分时复用, 总线转换周期就是指总线在这两种状态间切换需要的延时,防止冲突。控制其它存储 器时这个参数无效,配置为 0 即可。 @note: It is only used for multiplexed NOR Flash memories. */ uint32_t FSMC_CLKDivision; /*本成员用于设置时钟分频,它以 HCLK 时钟作为输入,经过 FSMC_CLKDivision 分频 后输出到 FSMC_CLK 引脚作为通讯使用的同步时钟。 控制其它异步通讯的存储器时 这个参数无效,配置为 0 即可。@note: This parameter is not used for asynchronous NOR Flash, SRAM or ROM accesses. */ uint32_t FSMC_DataLatency; /*本成员设置数据保持时间,它表示在读取第一个数据之前要等待的周期数,该周期指 同步时钟的周期,本参数仅用于同步 NOR FLASH 类型的存储器,控制其它类型的存 储器时,本参数无效。*/ uint32_t FSMC_AccessMode; /*本成员设置存储器访问模式,不同的模式下 FSMC 访问存储器地址时引脚输出的时序 不一样,可选 FSMC_AccessMode_A/B/C/D 模式。 一般来说控制 SRAM 时使用 A 模式。 */ }FSMC_NORSRAMTimingInitTypeDef; typedef struct 5 { 6 uint32_t FSMC_Bank; /*设置要控制的 Bank 区域 */ 7 uint32_t FSMC_DataAddressMux; /*设置地址总线与数据总线是否复用 */ 8 uint32_t FSMC_MemoryType; /*设置存储器的类型 */ 9 uint32_t FSMC_MemoryDataWidth; /*设置存储器的数据宽度*/ 10 uint32_t FSMC_BurstAccessMode; /*设置是否支持突发访问模式,只支持同步类型的存储器 突发访问模式是指发送一个地址后连续访问多个数据,非突发模式下每访问一个数据都 需要输入一个地址,仅在控制同步类型的存储器时才能使用突发模式。*/ 11 uint32_t FSMC_AsynchronousWait; /*设置是否使能在同步传输时的等待信号, */ 12 uint32_t FSMC_WaitSignalPolarity; /*设置等待信号的极性*/ 13 uint32_t FSMC_WrapMode; /*设置是否支持对齐的突发模式 */ 14 uint32_t FSMC_WaitSignalActive; /*配置等待信号在等待前有效还是等待期间有效 */ 15 uint32_t FSMC_WriteOperation; /*设置是否写使能 */ 16 uint32_t FSMC_WaitSignal; /*设置是否使能等待状态插入 */ 17 uint32_t FSMC_ExtendedMode; /*设置是否使能扩展模式 */ 18 uint32_t FSMC_WriteBurst; /*设置是否使能写突发操作*/ 19 /*当不使用扩展模式时,本参数用于配置读写时序,否则用于配置读时序*/ 20 FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct; 21 /*当使用扩展模式时,本参数用于配置写时序*/ 22 FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct; 23 }FSMC_NORSRAMInitTypeDef;

    FSMC_Bank可选用的宏参数 懒得写了,直接看野火的书吧!

    Processed: 0.013, SQL: 9