SDRAM驱动代码用标准库就出错

2019-07-20 03:17发布

void SDRAM_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_Initure;
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD| RCC_AHB1Periph_GPIOE |
         RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_GPIOG, ENABLE);
    GPIO_Initure.GPIO_Mode  = GPIO_Mode_AF;       //配置为复用功能
    GPIO_Initure.GPIO_Speed = GPIO_Speed_100MHz;   
    GPIO_Initure.GPIO_OType = GPIO_OType_PP;      //推挽输出
    GPIO_Initure.GPIO_PuPd  = GPIO_PuPd_NOPULL;              

        GPIO_PinAFConfig(GPIOC,GPIO_Pin_0,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOC,GPIO_Pin_2,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOC,GPIO_Pin_3,GPIO_AF_FMC);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_0;
    GPIO_Init(GPIOC,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_2;
    GPIO_Init(GPIOC,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_3;

    GPIO_Init(GPIOC,&GPIO_Initure);

       
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_0,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_1,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_8,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_9,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_10,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_14,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOD,GPIO_Pin_15,GPIO_AF_FMC);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_0;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_1;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_8;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_9;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_10;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_14;
    GPIO_Init(GPIOD,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_15;
    GPIO_Init(GPIOD,&GPIO_Initure);

        GPIO_PinAFConfig(GPIOE,GPIO_Pin_0,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_1,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_7,GPIO_AF_FMC);       
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_8,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_9,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_10,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_11,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_12,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_13,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_14,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOE,GPIO_Pin_15,GPIO_AF_FMC);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_0;
    GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_1;
    GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_7;
    GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_8;
    GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_9;
    GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_10;
        GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_11;
        GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_12;
        GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_13;
        GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_14;
        GPIO_Init(GPIOE,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_15;
        GPIO_Init(GPIOE,&GPIO_Initure);

        GPIO_PinAFConfig(GPIOF,GPIO_Pin_0,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_1,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_2,GPIO_AF_FMC);       
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_3,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_4,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_5,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_11,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_12,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_13,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_14,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOF,GPIO_Pin_15,GPIO_AF_FMC);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_0;
    GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_1;
    GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_2;
    GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_3;
    GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_4;
    GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_5;
        GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_11;
        GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_12;
        GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_13;
        GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_14;
        GPIO_Init(GPIOF,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_15;
        GPIO_Init(GPIOF,&GPIO_Initure);

        GPIO_PinAFConfig(GPIOG,GPIO_Pin_0,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_1,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_2,GPIO_AF_FMC);       
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_4,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_5,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_8,GPIO_AF_FMC);
        GPIO_PinAFConfig(GPIOG,GPIO_Pin_15,GPIO_AF_FMC);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_0;
    GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_1;
    GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_2;
    GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_4;
    GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_5;
        GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_8;
        GPIO_Init(GPIOG,&GPIO_Initure);
        GPIO_Initure.GPIO_Pin=GPIO_Pin_15;
        GPIO_Init(GPIOG,&GPIO_Initure);
}当硬故障异常发生时,进入无限循环

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。