Пример #1
0
void LCD_Init(void)
{
    LCD_GPIO_Config();
    printf("GPIO Initaled.\r\n");
    LCD_FSMC_Config();	
    printf("FSMC Configed.\r\n");
    LCD_Rst();
    printf("LCD Reseted.\r\n");
    
    //printf("Invalid LCD ID:%08X\r\n",LCD_ReadReg(0x00));
    
    LCD_WriteCmd(0xe2);//system reset
    Delay(5);   
    LCD_WriteCmd(0xae);        
    LCD_WriteCmd(0xf8);   
    LCD_WriteCmd(0x00);
    LCD_WriteCmd(0xa2);
    LCD_WriteCmd(0xa0);
    LCD_WriteCmd(0xc0);
    LCD_WriteCmd(0xa6);
    LCD_WriteCmd(0xa4);
    LCD_WriteCmd(0xe0);
    LCD_WriteCmd(0xac);
    LCD_WriteCmd(0x00);
    LCD_WriteCmd(0x21);
    LCD_WriteCmd(0x81);
    LCD_WriteCmd(0x1e);        
    LCD_WriteCmd(0x2f);   
    LCD_WriteCmd(0x40);
    Delay(5);
    LCD_WriteCmd(0xaf);
}
Пример #2
0
/**
  * @brief  Init the GPIO port of the LCD and LCD peripheral.
  * @param  None 
  * @retval None
  */
void LCD_Seg_Init(void)
{
    uint16_t i;
    LCD_InitPara LCD_InitStructure;

    /* Configure the LCD GPIO pins */
    LCD_GPIO_Config(); 

    /*!< Enable the clock of LCD */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_LCD, ENABLE);
    for(i=0;i<500;i++);
    /* Configure the LCD interface */
    LCD_InitStructure.LCD_Prescaler = LCD_PRESCALER_1;
    LCD_InitStructure.LCD_Divider = LCD_DIVIDER_16;
    LCD_InitStructure.LCD_Duty = LCD_DUTY_1_4;
    LCD_InitStructure.LCD_VBias = LCD_BIAS_1_3;
    LCD_InitStructure.LCD_VSRC = LCD_VOLTAGESOURCE_INTERNAL;
    LCD_Init(&LCD_InitStructure);

    /* Configure the Pulse On Duration */
    LCD_PulseOnDurationConfig(LCD_PULSEON_DURATION_7);

    /* Configure the Datatime Period */
    LCD_DeadTimeConfig(LCD_DEADTIME_PERIOD_7);

    /* Configure the LCD Contrast LEVEL_7(3.51V) */
    LCD_ContrastConfig(LCD_CONTRAST_LEVEL_7);

    /* Enable high drive function */
    LCD_HighDrive_Enable(ENABLE);

    /* Loop until SYNF flag is set */
    while ((LCD->SFR & LCD_FLAG_SYNF) == (uint32_t)RESET)
    {
    }
    /* Enable LCD peripheral */
    LCD_Enable(ENABLE);

    /* Wait the LCD is enable */
    while(!(LCD_GetBitState(LCD_FLAG_ONF)))
    {
    }

    /* Wait the LCD CFGR register synchronization */
//    while(!(LCD_GetBitState(LCD_FLAG_VRDYF)))
//    {
//    }

}
Пример #3
0
/*************************************************
  Function:		Lcd_t35_init
  Description:  
  Input:		
  Output:		
  Return:		
  Others:
*************************************************/
void Lcd_t35_init(void)
{
#if 0
    uint8_t i,j;
//    uint16_t value[6];
	GPIO_InitTypeDef GPIO_InitStructure;	


    
	RCC_APB2PeriphClockCmd(LCD_RS_GPIO_CLK, ENABLE);
	
	GPIO_InitStructure.GPIO_Pin = LCD_RS_PIN;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(LCD_RS_GPIO, &GPIO_InitStructure);
    hw_spi2_cs_off();
    for (i = 0 ; i < 14; i++)
    {
        Lcd_t35_writeCmd(mT35Init[i].Addr);
        for (j = 0 ; j < mT35Init[i].len; j++)
        {
            Lcd_t35_writeData(mT35Init[i].data[j]);
        }
        if(mT35Init[i].delay > 0)
        {
            hw_timer_delay_ms(mT35Init[i].delay);
        }
        if(0 == i)
        {
            hw_spi2_cs_on();
        }
    }
	hw_spi2_cs_off();
    #endif
    LCD_GPIO_Config();
    Lcd_Initialize();
//    hw_spi2_readbuf(0xBF, value, 6);
//    hw_serial_printf("0xBF [%x %x %x",value[0],value[1],value[2]);
//    hw_serial_printf(" %x %x %x]\r\n",value[3],value[4],value[5]);

    
}
Пример #4
0
/**********************************************
Lcd初始化函数
***********************************************/
void Lcd_Initialize(void)
{	
LCD_GPIO_Config();
LCD_FSMC_Config();
LCD_Rst();
	
//************* Start Initial Sequence **********//
WriteComm(0xFF); // EXTC Command Set enable register 
WriteData(0xFF); 
WriteData(0x98); 
WriteData(0x06); 

WriteComm(0xBA); // SPI Interface Setting 
WriteData(0xE0); 

WriteComm(0xBC); // GIP 1 
WriteData(0x03); 
WriteData(0x0F); 
WriteData(0x63); 
WriteData(0x69); 
WriteData(0x01); 
WriteData(0x01); 
WriteData(0x1B); 
WriteData(0x11); 
WriteData(0x70); 
WriteData(0x73); 
WriteData(0xFF); 
WriteData(0xFF); 
WriteData(0x08); 
WriteData(0x09); 
WriteData(0x05); 
WriteData(0x00);
WriteData(0xEE); 
WriteData(0xE2); 
WriteData(0x01); 
WriteData(0x00);
WriteData(0xC1); 

WriteComm(0xBD); // GIP 2 
WriteData(0x01); 
WriteData(0x23); 
WriteData(0x45); 
WriteData(0x67); 
WriteData(0x01); 
WriteData(0x23); 
WriteData(0x45); 
WriteData(0x67); 

WriteComm(0xBE); // GIP 3 
WriteData(0x00); 
WriteData(0x22); 
WriteData(0x27); 
WriteData(0x6A); 
WriteData(0xBC); 
WriteData(0xD8); 
WriteData(0x92); 
WriteData(0x22); 
WriteData(0x22); 

WriteComm(0xC7); // Vcom 
WriteData(0x1E);
 
WriteComm(0xED); // EN_volt_reg 
WriteData(0x7F); 
WriteData(0x0F); 
WriteData(0x00); 

WriteComm(0xC0); // Power Control 1
WriteData(0xE3); 
WriteData(0x0B); 
WriteData(0x00);
 
WriteComm(0xFC);
WriteData(0x08); 

WriteComm(0xDF); // Engineering Setting 
WriteData(0x00); 
WriteData(0x00); 
WriteData(0x00); 
WriteData(0x00); 
WriteData(0x00); 
WriteData(0x02); 

WriteComm(0xF3); // DVDD Voltage Setting 
WriteData(0x74); 

WriteComm(0xB4); // Display Inversion Control 
WriteData(0x00); 
WriteData(0x00); 
WriteData(0x00); 

WriteComm(0xF7); // 480x854
WriteData(0x81); 

WriteComm(0xB1); // Frame Rate 
WriteData(0x00); 
WriteData(0x10); 
WriteData(0x14); 

WriteComm(0xF1); // Panel Timing Control 
WriteData(0x29); 
WriteData(0x8A); 
WriteData(0x07); 

WriteComm(0xF2); //Panel Timing Control 
WriteData(0x40); 
WriteData(0xD2); 
WriteData(0x50); 
WriteData(0x28); 

WriteComm(0xC1); // Power Control 2 
WriteData(0x17);
WriteData(0X85); 
WriteData(0x85); 
WriteData(0x20); 

WriteComm(0xE0); 
WriteData(0x00); //P1 
WriteData(0x0C); //P2 
WriteData(0x15); //P3 
WriteData(0x0D); //P4 
WriteData(0x0F); //P5 
WriteData(0x0C); //P6 
WriteData(0x07); //P7 
WriteData(0x05); //P8 
WriteData(0x07); //P9 
WriteData(0x0B); //P10 
WriteData(0x10); //P11 
WriteData(0x10); //P12 
WriteData(0x0D); //P13 
WriteData(0x17); //P14 
WriteData(0x0F); //P15 
WriteData(0x00); //P16 

WriteComm(0xE1); 
WriteData(0x00); //P1 
WriteData(0x0D); //P2 
WriteData(0x15); //P3 
WriteData(0x0E); //P4 
WriteData(0x10); //P5 
WriteData(0x0D); //P6 
WriteData(0x08); //P7 
WriteData(0x06); //P8 
WriteData(0x07); //P9 
WriteData(0x0C); //P10 
WriteData(0x11); //P11 
WriteData(0x11); //P12 
WriteData(0x0E); //P13 
WriteData(0x17); //P14 
WriteData(0x0F); //P15 
WriteData(0x00); //P16

WriteComm(0x35); //Tearing Effect ON 
WriteData(0x00); 

WriteComm(0x36); 
WriteData(0x60); 

WriteComm(0x3A); 
WriteData(0x55); 

WriteComm(0x11); //Exit Sleep 
LCD_delay(120); 
WriteComm(0x29); // Display On 
LCD_delay(10);
	Lcd_Light_ON;
	
	WriteComm(0x3A); WriteData(0x55);
	WriteComm(0x36); WriteData(0xA8);
	Lcd_ColorBox(0,0,800,480,YELLOW);
	
// 	LCD_Fill_Pic(80,160,320,480, gImage_MM_T035);
// 	BlockWrite(0,0,799,479);
}