STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
SDRAM_Timing.LoadToActiveDelay = 2;
SDRAM_Timing.ExitSelfRefreshDelay = 6;
SDRAM_Timing.SelfRefreshTime = 4;
SDRAM_Timing.RowCycleDelay = 6;
SDRAM_Timing.WriteRecoveryTime = 2;
SDRAM_Timing.RPDelay = 2;
SDRAM_Timing.RCDDelay = 2;
hsdram.Init.SDBank = FMC_SDRAM_BANK1;
hsdram.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8;
hsdram.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12;
hsdram.Init.MemoryDataWidth = SDRAM_MEMORY_WIDTH;
hsdram.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
hsdram.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3;
hsdram.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
hsdram.Init.SDClockPeriod = SDCLOCK_PERIOD;
hsdram.Init.ReadBurst = FMC_SDRAM_RBURST_ENABLE;
hsdram.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_0;
评分
查看全部评分
这个代码用处不大啊:
其一,我用的是 SRAM 不是 SDRAM,时序参数都不对:我问的是 STM32 的 SRAM 时序参数怎么对应到 SRAM 数据手册里的参数。注意这里内存类型没有字母 D。
其二,我没有用 Cube 或 STL(代码太大且有暗病)而是直接操作寄存器,这些初始化结构体对我来说意义很有限。
ST这个代码不知道对你有否帮助:
这个是 QSPI,不是 FSMC……芯片也不对……Cube 的配置参数是直接对应寄存器的,不解决问题。
我好像把问题条件在标题里面讲的很明确:
* 涉及到的外设是 FSMC 的配置寄存器怎么对 SRAM 数据手册而不是 FMC 对 SDRAM 或 QSPI;
* 用的芯片是 STM32F417 不是 F7xx,那个没有 FMC 或 QSPI 支持。
两次回答怎么都答非所问了?
读时序
写时序
根据以上时序时间,有FSMC时钟计算出FSMC的对应时间:
评分
查看全部评分
这些寄存器看上去和 F407/F417 的很不一样啊。您选的芯片参数和 SRAM 数据手册对应的很好,但 F407/F417 的就只有四个时序参数且没有对应关系。
评分
查看全部评分