LCD。C ﻫ
#include ”LCD.h”
#include ”"
ﻫ//定义驱动IC是ILI9320还是ILI9325
#define ILI9325 //ILI9325
ﻫ//屏幕旋转定义 数字按照 ID[1:0]AM 按照PDF中的配置定义 ﻫ#define ID_AM 110
ﻫvoid Wr_LCD_Data(u16 Data); ﻫvoid Wr_LCD_Reg(u16 Reg_Addr,u16 Data);
void Lcd_SetCursor(u8 x,u16 y);
void Lcd_Clear(u16 Color);
void LCD_ExitSleep_ILI9325(void);
static void LCD_Delay(u32 Delay_Time)
{
while(Delay_Time>0) ﻫ{
Delay_Time--; ﻫ} ﻫ
}
void Wr_LCD_Reg(u16 Reg_Addr,u16 Data)
{
FSMC_SRAM_WriteBuffer(&Reg_Addr, 0x00000000, 1);
FSMC_SRAM_WriteBuffer(&Data, 0x00000001, 1);
} ﻫﻫvoid Wr_LCD_Data(u16 Data)
{ ﻫ FSMC_SRAM_WriteBuffer(&Data, 0x00000001, 1); ﻫ}
ﻫint LCD_Init(void) ﻫ{ ﻫ int i; ﻫ// 测试16根数据线
/*
while(1) ﻫ {
Wr_LCD_Data(0xffff); ﻫ LCD_Delay(100);
Wr_LCD_Data(0x0000); ﻫ } ﻫ */
GPIO_SetBits(GPIOG,GPIO_Pin_4);
LCD_Delay(1000); ﻫGPIO_ResetBits(GPIOG,GPIO_Pin_4);
LCD_Delay(40000); ﻫGPIO_SetBits(GPIOG,GPIO_Pin_4);
LCD_Delay(1000); //LCD Reset.
ﻫ //Start Initial Sequence//
Wr_LCD_Reg(0x00E3, 0x3008); // Set internal timing
Wr_LCD_Reg(0x00E7, 0x0012); // Set internal timing ﻫ Wr_LCD_Reg(0x00EF, 0x1231); // Set internal timing
Wr_LCD_Reg(0x0001, 0x0100); // set SS and SM bit ﻫ Wr_LCD_Reg(0x0002, 0x07
stm32驱动ILI9325 来自淘豆网m.daumloan.com转载请标明出处.