91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問(wèn)上海現(xiàn)易電子元器件有限公司網(wǎng)站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁(yè) ->  新聞資訊 -> 單片機(jī)

?stm32 FSMC-外擴(kuò)SRAM IS62WV51216

文章出處:?jiǎn)纹瑱C(jī) 責(zé)任編輯:上海現(xiàn)易電子元器件有限公司 發(fā)表時(shí)間:2020-11-10

引腳定義 

FSMC配置步驟

1.使能對(duì)應(yīng)引腳GPIO時(shí)鐘 
2.配置GPIO引腳模式 
3.使能FSMC時(shí)鐘 
4.FSMC初始化 
5.存儲(chǔ)器塊使能

舉例 

#define Bank1_SRAM3_ADDR    ((u32)(0x68000000))  //首地址0x60000000,每塊0x40000000


void SRAM_gpio_init()

{

    GPIO_InitTypeDef gpiof = 

    {

        GPIO_Pin_0 " GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 |

            GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15, //FSMC_A0 - FSMC_A9

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };

    GPIO_InitTypeDef gpiog0_5 = 

    {

        GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5, //FSMC_A10 - FSMC_A15

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };

    GPIO_InitTypeDef gpiod = 

    {

        GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | //FSMC_A15 - FSMC_A18

        GPIO_Pin_14 | GPIO_Pin_15 | GPIO_Pin_0 | GPIO_Pin_1 | //FSMC_D0 - FSMC_D3

            GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10, //FSMC_D13 - FSMC_D15

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };

    GPIO_InitTypeDef gpioe = 

    {

        //FSMC_D4 - FSMC_D12

        GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15, 

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };


    GPIO_InitTypeDef gpioe0_1 = 

    {

        GPIO_Pin_0 | GPIO_Pin_1, //FSMC_NBL0-FSMC_NBL1

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };

    GPIO_InitTypeDef gpiod4_5 = 

    {

        GPIO_Pin_4 | GPIO_Pin_5, //FSMC_NOE - FSMC_NWE

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };

    GPIO_InitTypeDef gpiog10 = 

    {

        GPIO_Pin_10, //片選

        GPIO_Speed_50MHz,

        GPIO_Mode_AF_PP

    };


    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);


    GPIO_Init(GPIOF, &gpiof);

    GPIO_Init(GPIOG, &gpiog0_5);

    GPIO_Init(GPIOD, &gpiod);

    GPIO_Init(GPIOE, &gpioe);

    GPIO_Init(GPIOE, &gpioe0_1);

    GPIO_Init(GPIOD, &gpiod4_5);

    GPIO_Init(GPIOG, &gpiog10);

}


void FSMC_sram_init()

{

    FSMC_NORSRAMInitTypeDef fsmc = {0};

    FSMC_NORSRAMTimingInitTypeDef FSMC_ReadWriteTimingStruct = {0};


    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);


    FSMC_ReadWriteTimingStruct.FSMC_AddressSetupTime = 0x00;

    FSMC_ReadWriteTimingStruct.FSMC_AddressHoldTime = 0x00;

    FSMC_ReadWriteTimingStruct.FSMC_DataSetupTime = 0x08;

    FSMC_ReadWriteTimingStruct.FSMC_BusTurnAroundDuration = 0x00;

    FSMC_ReadWriteTimingStruct.FSMC_CLKDivision = 0x00;

    FSMC_ReadWriteTimingStruct.FSMC_DataLatency = 0x00;

    FSMC_ReadWriteTimingStruct.FSMC_AccessMode = FSMC_AccessMode_A;


    fsmc.FSMC_Bank = FSMC_Bank1_NORSRAM3;

    fsmc.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;

    fsmc.FSMC_MemoryType = FSMC_MemoryType_SRAM;

    fsmc.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;

    fsmc.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;

    fsmc.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;

    fsmc.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;

    fsmc.FSMC_WrapMode = FSMC_WrapMode_Disable;

    fsmc.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;

    fsmc.FSMC_WriteOperation = FSMC_WriteOperation_Enable;

    fsmc.FSMC_WaitSignal = FSMC_WaitSignal_Disable;

    fsmc.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; //擴(kuò)展模式使能

    fsmc.FSMC_WriteBurst = FSMC_WriteBurst_Disable;

    fsmc.FSMC_ReadWriteTimingStruct = &FSMC_ReadWriteTimingStruct;

    fsmc.FSMC_WriteTimingStruct = &FSMC_ReadWriteTimingStruct;

    FSMC_NORSRAMInit(&fsmc);


    FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE);

}


void SRAM_read(u8 *buf, u32 addr, u32 num)

{

    u32 i = 0;


    for(i = 0; i < num; i++)

    {

        buf[i] = *(u8*)(Bank1_SRAM3_ADDR + addr + i);

    }

}


void SRAM_write(u8 *buf, u32 addr, u32 num)

{

    u32 i = 0;

    u8 *p = (u8*)(Bank1_SRAM3_ADDR + addr);


    for(i = 0; i < num; i++)

    {

        *(p + i) = buf[i];

    }

}


上海現(xiàn)易電子元器件有限公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號(hào)

電話

易經(jīng)理

18019251567

微信

易經(jīng)理

易經(jīng)理

頂部

咨詢
主站蜘蛛池模板: 好吊日在线视频 | 国精产品一二三区传媒公司 | 亚洲AV成人影视综合网 | 日韩一卡二卡3卡四卡2021高清妈妈的朋友 | 欧洲丰满少妇做爰视频爽爽 | 韩国电影理伦片完整 | 国产日韩欧美在线视频一本到 | 禁app下载站长统计网址进入 | 黄色免费网址在线观看 | 精品一卡2卡三卡4卡乱码免费 | 一级做a爱过程免费视 | 窝窝视频成人影院午夜在线 | 日本丰满大乳人妻无码水卜樱 | 国产亚洲精品久久20242024 | 小姐姐在线播放 | 九一精品 | 波多野结衣强奷系列在线观看 | 亚洲情A成黄在线观看动漫软件 | 美女脱精光让男人桶下面免费 | 欧美很很干| 久久青青无码AV亚洲黑人 | 日韩在线欧美在线 | 色天使色妺妺网站 | 亚洲 视频 在线 国产 精品 | 日本一卡二卡不卡视频查询 | h片免费在线观看 | 一级做a爰性色毛片免费 | 日本香港三级亚洲三级 | 无码免费人妻A片AAA毛片一区 | 色精阁久艾草国产WWW | WWW国产内插视频 | 亚洲AV色情成人www | 高清对白精彩国产国语 | 欧美日韩一区二区三区四区在线观看 | 懂色AV | 自拍亚洲| 亚洲国产熟妇无码一区二区69 | 九九亚洲视频 | 欧美日韩亚洲一区二区三区 | 亚洲AV国产SUV| 一级做a爰全过程免费视频毛片 |