<abbr id="seaas"><source id="seaas"></source></abbr><dl id="seaas"></dl>
    <li id="seaas"></li>
    <abbr id="seaas"></abbr>
  • <li id="seaas"></li>
    <code id="seaas"><delect id="seaas"></delect></code>
  • 4000-169-679

    首頁>技術支持 >汽車軟板廠之STM32F1單片機TFT屏調試筆記

    汽車軟板廠之STM32F1單片機TFT屏調試筆記

    2020-07-13 10:35

    STM32F1系列單片機有多種外設,外設配置方式比較一致,一般是使能外設所在GPIO口時鐘、使能外設的時鐘,在禁止外設的情況下配置外設的時序以及中斷和DMA等。大部分的外設配置相對簡單,但是FSMC接口因為配置比較復雜,往往讓一些初學者一頭霧水。汽車軟板廠記錄了在STM32F103ZET6的FSMC接口配置調試TFT LCD屏相關注意事項。
    1   FSMC接口GPIO配置

    /** FSMC GPIOConfiguration   PF0  ------> FSMC_A0           ------> LCD_RS: 0: Reg,1:Data  PE7  ------> FSMC_D4  PE8  ------> FSMC_D5  PE9  ------> FSMC_D6  PE10  ------> FSMC_D7  PE11  ------> FSMC_D8  PE12  ------> FSMC_D9  PE13  ------> FSMC_D10  PE14  ------> FSMC_D11  PE15  ------> FSMC_D12  PD8  ------> FSMC_D13  PD9  ------> FSMC_D14  PD10  ------> FSMC_D15  PD14  ------> FSMC_D0  PD15  ------> FSMC_D1  PD0  ------> FSMC_D2  PD1  ------> FSMC_D3  PD4  ------> FSMC_NOE          ------> LCD_RD    Default:1,Value:0    PD5  ------> FSMC_NWE           ------> LCD_WR  Default:1,Value:0  PG12  ------> FSMC_NE4             ------>LCD_CS  Default:1,Value:0



    2 初始化FSMC時序

    /* FSMC initializationfunction */  FSMC_NORSRAM_TimingTypeDef Timing;SRAM_HandleTypeDef hsram1;
      hsram1.Instance = FSMC_NORSRAM_DEVICE;  hsram1.Extended =FSMC_NORSRAM_EXTENDED_DEVICE;  /* hsram1.Init */hsram1.Init.NSBank = FSMC_NORSRAM_BANK4;hsram1.Init.DataAddressMux =FSMC_DATA_ADDRESS_MUX_DISABLE;hsram1.Init.MemoryType=FSMC_MEMORY_TYPE_NOR;hsram1.Init.MemoryDataWidth =FSMC_NORSRAM_MEM_BUS_WIDTH_16;hsram1.Init.BurstAccessMode =FSMC_BURST_ACCESS_MODE_DISABLE;hsram1.Init.WaitSignalPolarity =FSMC_WAIT_SIGNAL_POLARITY_LOW;hsram1.Init.WrapMode =FSMC_WRAP_MODE_DISABLE;hsram1.Init.WaitSignalActive =FSMC_WAIT_TIMING_BEFORE_WS;hsram1.Init.WriteOperation =FSMC_WRITE_OPERATION_ENABLE;hsram1.Init.WaitSignal =FSMC_WAIT_SIGNAL_DISABLE;hsram1.Init.ExtendedMode =FSMC_EXTENDED_MODE_DISABLE;hsram1.Init.AsynchronousWait =FSMC_ASYNCHRONOUS_WAIT_DISABLE;hsram1.Init.WriteBurst =FSMC_WRITE_BURST_DISABLE;  /* Timing */ Timing.AddressSetupTime = 0x04; Timing.AddressHoldTime = 0x02; Timing.DataSetupTime = 0x08; Timing.BusTurnAroundDuration = 0x00; Timing.CLKDivision = 0x00; Timing.DataLatency = 0x00; Timing.AccessMode = FSMC_ACCESS_MODE_B;  后面數值決定讀寫屏快慢。


    FPC小編注意點:
    1  因為STM32的地址是32bit的,數據是按照8bit組織的,如果lcd的數據選擇8bit的話,地址A0就是正常的輸出,如0x60000000輸出A0=0;  0x6000 0001輸出A0=1;對應數據是byte;如果lcd的數據選擇16bit的話,地址A0就,如0x60000000輸出A0=0;  而0x60000002對應A0=1;對應數據是word,也就是說每兩個原來基于byte結構的地址對應一個地址線上實際的word長度的地址;

    #define Bank1_LCD_D   ((uint32_t)0x6C000002)    //DispData ADDR#define Bank1_LCD_C   ((uint32_t)0x6C000000)   //DispReg ADDR
    void LCD_WR_REG(uint16_t index){       *(__IOuint16_t *) (Bank1_LCD_C) = index;}
    uint16_t  LCD_READ_DATA(void){       uint16_ta = 0;        a=*(__IOuint16_t *) (Bank1_LCD_D); //L        return a;}


    軟板廠:   Image2LCD軟件轉換時注意掃描方式和數據位寬度,以及高低為順序。

    實際效果:

    網友熱評

    回到頂部

    關于深聯| 手機FPC | 平板電腦FPC | 工控FPC | 汽車FPC
    醫療FPC | POS機FPC | 消費電子FPC | 站點地圖|深聯動態

    粵ICP備11062779號 集團總部地址:深圳市寶安區福海街道展景路83號6A-16-17樓
    深圳深聯地址:深圳寶安區沙井街道錦程路新達工業園
    贛州深聯地址:江西省贛州市章貢區鈷鉬稀有金屬產業基地
    珠海深聯地址:珠海市斗門區乾務鎮融合東路888號
    上海分公司地址:閔行區閩虹路166弄城開中心T3-2102
    美國辦事處地址:689, South Eliseo Drive, Greenbrae, CA, 94904, USA
    日本深聯地址:東京都千代田區神田錦町一丁目23番地8號The Sky GranDEAR 三階

    立即掃描!