STM32f407 FSMC 读写时序不对

2019-07-21 04:28发布

写的时候片选和读信号都是正常的,读的时候片选不对,我用的片选3。
读写时序分开和不分开都试过
读写分开的设置
Timing_read.FSMC_AddressSetupTime = 3;  /* [3:0] F2/F4 1~15 HCLK */
Timing_read.FSMC_AddressHoldTime = 0;   /* [7:4] keep 0x00 in SRAM mode */
Timing_read.FSMC_DataSetupTime = 4;     /* [15:8] F2/F4 0~255 HCLK */
/* [19:16] Time between NEx high to NEx low (BUSTURN HCLK) */
Timing_read.FSMC_BusTurnAroundDuration = 1;
Timing_read.FSMC_CLKDivision = 0; /* [24:20] keep 0x00 in SRAM mode  */
Timing_read.FSMC_DataLatency = 0; /* [27:25] keep 0x00 in SRAM mode  */
Timing_read.FSMC_AccessMode = FSMC_AccessMode_A;

/*--------------------- write timings configuration ---------------------*/
Timing_write.FSMC_AddressSetupTime =2;  /* [3:0] F2/F4 1~15 HCLK */
Timing_write.FSMC_AddressHoldTime = 0;   /* [7:4] keep 0x00 in SRAM mode */
Timing_write.FSMC_DataSetupTime =3;     /* [15:8] F2/F4 0~255 HCLK */
/* [19:16] Time between NEx high to NEx low (BUSTURN HCLK) */
Timing_write.FSMC_BusTurnAroundDuration = 1;
Timing_write.FSMC_CLKDivision = 0; /* [24:20] keep 0x00 in SRAM mode  */
Timing_write.FSMC_DataLatency = 0; /* [27:25] keep 0x00 in SRAM mode  */
Timing_write.FSMC_AccessMode = FSMC_AccessMode_A;



读写不分开的设置
  p.FSMC_AddressSetupTime = 1;
  p.FSMC_AddressHoldTime = 0;
  p.FSMC_DataSetupTime = 4;
  p.FSMC_BusTurnAroundDuration = 0;
  p.FSMC_CLKDivision = 0;
  p.FSMC_DataLatency = 1;
  p.FSMC_AccessMode = FSMC_AccessMode_A;




各位有没有遇到过这种情况?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。