⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcdctrl.c

📁 2410/vxworks/tornado下的基本实验包括 serial,ramdrv,interrupt,multi-FTP,TCP,UDP-Under the basic experimental
💻 C
字号:
/* S3C2410 LCD controllert file */

/* Copyright 2001 Wind River Systems, Inc. */
#include "vxWorks.h"
#include "stdio.h"

#include <ugl/driver/graphics/MagicARM2410/S3C2410.h>
#include <ugl/driver/graphics/MagicARM2410/LcdCtrl.h>

int lcd_gpio_init(void)
{            
    GPCCON = 0xAAAAAAAA;  
    GPGCON |= 0x00000300;
    GPGUP &= 0xFFFFFCFF;
    return(1);
}

int lcd_power_on(void)
{
    LCDCON5 |= LCD5_PWREN;
    return(1);
}

int lcd_power_off(void)
{
    LCDCON5 &= ~(LCD5_PWREN);
    return(1);
}


int lcd_prama_init(void* LCDFrameBuffer)
{
	LCDCON1 = LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1);
	LCDCON2 = LCD2_VBPD(32)|LCD2_LINEVAL(LCDHEIGHT-1)|LCD2_VFPD(9)|LCD2_VSPW(1);
	LCDCON3 = LCD3_HBPD(47) | LCD3_HOZVAL(LCDWIDTH-1) | LCD3_HFPD(15);
	LCDCON4 = LCD4_HSPW(95);
	LCDCON5 = LCD5_FRM565|LCD5_INVVFRAME|LCD5_INVVLINE|LCD5_HWSWP;

	LCDADDR1 = LCDADDR_BANK(((unsigned long)LCDFrameBuffer >> 22))
	| LCDADDR_BASEU(((unsigned long)LCDFrameBuffer >> 1));
	LCDADDR2 = LCDADDR_BASEL((unsigned long)LCDFrameBuffer + LCDFBSIZE)>> 1;
	LCDADDR3 = LCDADDR_OFFSET(0) | LCDADDR_PAGE(LCDWIDTH*LCDBPP/16);
	
	LCDLPCSEL &= (~0x3);
	TPAL = 0x0;
	LCDCON1 |= LCD1_ENVID;
	
	return(1);
}


int lcd_ctrl_init(void* LCDFrameBuffer)
{
    lcd_gpio_init();
    lcd_power_off();
    lcd_prama_init(LCDFrameBuffer);
    lcd_power_on();
    return(1);    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -