微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > FSMC要怎么配置啊?驱动2.8寸的TFT一定要用FSMC吗?我查了好

FSMC要怎么配置啊?驱动2.8寸的TFT一定要用FSMC吗?我查了好

时间:10-02 整理:3721RD 点击:
FSMC要怎么配置啊?驱动2.8寸的TFT一定要用FSMC吗?我查了好资料还是一头雾水。我就一菜鸟,请大神们帮帮忙?

#define   NET_BASE_ADDR                0x60000000
#define   NET_REG_ADDR                        (*((volatile uint16_t *) NET_BASE_ADDR))
#define   NET_REG_DATA                        (*((volatile uint16_t *) (0x60020000)))  //因为是A16 所以是2的16次方乘以二=0x20000
这是DM9000网口芯片配置fsmc地址的方法,显示屏应该差不多
/*******************************************************************************
*        函数名: DM9K_FSMCConfig
*        参  数: 无
*        返  回: 无
*        功  能: 配置FSMC并口访问时序
*/
void DM9K_FSMCConfig(void)
{
        FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
    FSMC_NORSRAMTimingInitTypeDef  p;
   
   
    p.FSMC_AddressSetupTime = 0x02;         //地址建立时间
    p.FSMC_AddressHoldTime = 0x00;         //地址保持时间
    p.FSMC_DataSetupTime = 0x05;                 //数据建立时间
    p.FSMC_BusTurnAroundDuration = 0x00;
    p.FSMC_CLKDivision = 0x00;
    p.FSMC_DataLatency = 0x00;
    p.FSMC_AccessMode = FSMC_AccessMode_B;         // 一般使用模式B来控制LCD
   
    FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
    FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
    FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
    FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
    FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
    FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
    FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
    FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
    FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
    FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
    FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
    FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
    FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
    FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
   
   
    FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
   
    /* 使能 FSMC Bank1_SRAM Bank */
    FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);  
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top