这是一段对nor存储器的时序进行编程的函数,函数形式为void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct),里面只有一个参数,这个参数为指针类型,指向一段数据结构,这个数据结构就保存着对时序进行配置的的各个参数,这个结构的详细内容为
1 typedef struct 2 { 3 uint32_t FSMC_Bank;//nor被分为四块,其中这个参数是说明对那个块编程 4 uint32_t FSMC_DataAddressMux;//地址\数据是否复用 5 uint32_t FSMC_MemoryType;//存储器类型 6 uint32_t FSMC_MemoryDataWidth;//数据总线宽度 8位/16位 7 uint32_t FSMC_BurstAccessMode;//是否进行成组模式访问 8 uint32_t FSMC_WaitSignalPolarity;//等待信号有效级性 9 uint32_t FSMC_WrapMode;//该位决定控制器是否支持把非对齐的AHB成组操作分割成2次线性操作;该位仅在存储器的成组模式下有效。 10 uint32_t FSMC_WaitSignalActive;//当闪存存储器处于成组传输模式时,NWAIT信号指示从闪存存储器出来的数据是否有效或是否需要插入等待周期。该位决定存储器是在等待状态之前的一个时钟周期产生NWAIT信号,还是在等待状态期间产生NWAIT信号。 11 uint32_t FSMC_WriteOperation;//该位指示FSMC是否允许/禁止对存储器的写操作。 12 uint32_t FSMC_WaitSignal;//当闪存存储器处于成组传输模式时,这一位允许/禁止通过NWAIT信号插入等待状态。 13 uint32_t FSMC_ExtendedMode;//该位允许FSMC使用FSMC_BWTR寄存器,即允许读和写使用不同的时序。 14 uint32_t FSMC_WriteBurst; //对于处于成组传输模式的闪存存储器,这一位允许/禁止通过NWAIT信号插入等待状态。读操作的同步成组传输协议使能位是FSMC_BCRx寄存器的BURSTEN位。 15 FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct;//读时序配置指针 16 FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct;//写时序配置指针 17 }FSMC_NORSRAMInitTypeDef;
两个指针的结构如下