资源简介

STM32F407 FSMC控制AD7606、SRAM和NOR FLASH的初始化代码,时序配置经过验证

资源截图

代码片段和文件信息

#include “stm32f4xx.h“
#include “BottomDrive.h“

//使用NOR/SRAM的 Bank1.sector3地址位HADDR[2726]=10 
//对IS61LV25616/IS62WV25616地址线范围为A0~A17 
//对IS61LV51216/IS62WV51216地址线范围为A0~A18
      
//初始化外部SRAM
void FSMC_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
  FSMC_NORSRAMTimingInitTypeDef  readWriteTiming; 

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG ENABLE);//使能PDPEPFPG时钟  
  RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMCENABLE);//使能FSMC时钟  
   

GPIO_InitStructure.GPIO_Pin = (3<<0)|(0x000f<<4)|(0x00FF<<8);//PD014~78~15 AF OUT
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOD &GPIO_InitStructure);//初始化  

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;//PEAF OUT
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOE &GPIO_InitStructure);//初始化  

  GPIO_InitStructure.GPIO_Pin = (0x003F<<0)|(0x000F<<12);  //PF0~512~15
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOF &GPIO_InitStructure);//初始化  

GPIO_InitStructure.GPIO_Pin = (0x007F)| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_12| GPIO_Pin_13| GPIO_Pin_14;//PG0~610121314
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOG &GPIO_InitStructure);//初始化 
 
 
  GPIO_PinAFConfig(GPIODGPIO_PinSource0GPIO_AF_FSMC);//PD0AF12
  GPIO_PinAFConfig(GPIODGPIO_PinSource1GPIO_AF_FSMC);//PD1AF12
  GPIO_PinAFConfig(GPIODGPIO_PinSource4GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource5GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIODGPIO_PinSource6GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIODGPIO_PinSource7GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIODGPIO_PinSource8GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIODGPIO_PinSource9GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource10GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource11GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIODGPIO_PinSource12GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource13GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource14GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIODGPIO_PinSource15GPIO_AF_FSMC);//PD15AF12
 
  GPIO_PinAFConfig(GPIOEGPIO_PinSource0GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOEGPIO_PinSource1GPIO_AF_FSMC

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        389  2018-06-27 16:29  fsmc.h

     文件       9748  2018-07-09 17:09  fsmc.c

----------- ---------  ---------- -----  ----

                10137                    2


评论

共有 条评论