readWriteTiming.FSMC_BusTurnAroundDuration=0x00;readWriteTiming.FSMC_CLKDivision=0x00;readWriteTiming.FSMC_DataLatency=0x00;readWriteTiming.FSMC_AccessMode=FSMC_AccessMode_A;//模式AFSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM3;// 这里我们使用NE3 ,也就对应BTCR[4],[5]。FSMC_NORSRAM...
//地址建立时间(ADDSET)为1个HCLK 1/72M=14nsreadWriteTiming.FSMC_AddressSetupTime =0x00;//地址保持时间(ADDHLD)模式A未用到readWriteTiming.FSMC_AddressHoldTime =0x00;//数据保持时间(DATAST)为3个HCLK 4/72M=55ns(对EM的SRAM芯片)readWriteTiming.FSMC_DataSetupTime =0x02;//设置总线转换周期,仅...
ExtendedMode;/*设置是否使能扩展模式 */uint32_tFSMC_WriteBurst;/*设置是否使能写突发操作*//*当不使用扩展模式时,本参数用于配置读写时序,否则用于配置读时序*/FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;/*当使用扩展模式时,本参数用于配置写时序*/FSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTiming...
; FSMC_NORSRAMTimingInitTypeDef readWriteTiming; SRAM_IO_CONFIG(); RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC,ENABLE); /* readWriteTiming 1/168 us = 5.9ns FSMC_AddressSetupTime : (0+1)*6 = 6 FSMC_DataSetupTime : (8+1)*6 = 54 > 25 (6 + 54) = 60 > 55 */ readWriteTiming....
FSMC_NORSRAM_TimingTypeDef FSMC_ReadWriteTim; /*--- 使能时钟 ---*/ __HAL_RCC_GPIOD_CLK_ENABLE();// 使能GPIOD时钟 __HAL_RCC_GPIOE_CLK_ENABLE();// 使能GPIOE时钟 __HAL_RCC_GPIOF_CLK_ENABLE();// 使能GPIOF时钟 __HAL_RCC_
图1 SRAM Timing AHB协议规定,第一个时钟周期给出控制信号,第二时钟周期给出数据,所以控制信号是需要锁存的,此处用伪代码抽象出AHB的有效操作行为。 一次有效的AHB操作信号ahb_accs = ahb_readyi & ahb_sel & ahb_trans[1] 一次有效的AHB写操作信号 write_vld = ahb_accs & ahb_write ...
Init(void){SMC_NORSRAMConfig_T SMC_NORSRAM_ConfigStruct;SMC_NORSRAMTimingConfig_T readWriteTiming...
//设置扩展模式使能位,也就是是否允许读写不同的时序uint32_t FSMC_WriteBurst;//成组模式同步模式才需要设置FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;//初始化片选控制寄存器FSMC_BTRxFSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTimingStruct;//初始化写操作时序控制寄存器FSMC_BWTRx}FSMC_NORSRAMInit...
FSMC_NORSRAM_TimingTypeDef FSMC_ReadWriteTim;__HAL_RCC_FSMC_CLK_ENABLE(); //使能 FSMC 时钟 __HAL_RCC_GPIOD_CLK_ENABLE(); //使能 GPIOD 时钟 __HAL_RCC_GPIOE_CLK_ENABLE(); //使能 GPIOE 时钟 __HAL_RCC_GPIOF_CLK_ENABLE(); //使能 GPIOF 时钟 __HAL_RCC_GPIOG_CLK_ENABLE(); //...
nor_timing_init_struct.asyn_address_holdtime = 8; nor_timing_init_struct.asyn_address_setuptime = 8; /* config EXMC bus parameters */ nor_init_struct.norsram_region = norsram_region; nor_init_struct.write_mode = EXMC_ASYN_WRITE; nor_init_struct.extended_mode = DISABLE; nor_init_struc...