亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd_optr.c

?? Cirrus Logic EP7312處理器部分控制程序。
?? C
字號(hào):
//****************************************************************************
//
// LCD_OPTREX.C - Routines to enable and draw on the Optrex DMF-50944NCU-Fw-2 
// color LCD panel, at a resolution of 320x3[R.G.B](W) x 240(H).
//
// Copyright (c) 2001 Cirrus Logic, Inc.
//
//****************************************************************************
#include "ep7312.h"
#include "lib7312.h"

//****************************************************************************
//
// LCDColorEnable initializes the control logic for the LCD panel.
//
//****************************************************************************
void LCDColorEnable(void)
{
    unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;
    unsigned long ulLcdConfig, ulLineLength, ulVideoBufferSize;
    
    //
    // Determine the value to be programmed into the LCD controller in the
    // EP7312 to properly drive the Color LCD panel at 320x3x240, 4 bits per
    // pixel, at 80Hz.
    //
    ulVideoBufferSize = (((320 * 3) * 240 * 4) / 128) - 1;
    ulLineLength = ((320 * 3) / 16) - 1;
    ulLcdConfig = HwLcdControlGreyEnable |
                  HwLcdControlGrey4Or2 |
                  (0x13 << HwLcdControlAcPrescaleShift) |
                  (1 << HwLcdControlPixelPrescaleShift) |
                  (ulLineLength << HwLcdControlLineLengthShift) |
                  (ulVideoBufferSize << HwLcdControlBufferSizeShift);

    //
    // Configure the palette to be a one-to-one mapping of the pixel values to
    // the available LCD pixel intensities.
    //
    pulPtr[HwPaletteLSW >> 2] = 0x76543210;
    pulPtr[HwPaletteMSW >> 2] = 0xFEDCBA98;

    //
    // Program the LCD controller with the previously determined configuration.
    //
    pulPtr[HwLcdControl >> 2] = ulLcdConfig;

    //
    // Set the LCD frame buffer start address.
    //
    pulPtr[HwLcdFrameBuffer >> 2] = HwLcdBaseAddress >> 28;
}

//****************************************************************************
//
// LCDColorOn turns on the LCD panel.
//
//****************************************************************************
void LCDColorOn(void)
{																	 
	unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;
	int loop;

	pulPtr[HwControl >> 2] |= HwControlLcdEnable;
	((unsigned char *)pulPtr)[HwDdrD] = 0;
	((unsigned char *)pulPtr)[HwPortD] |= HwPortDLCDPower;

	//delay
	for(loop = 0; loop < 500; loop++)
	{
	}

	((unsigned char *)pulPtr)[HwPortD] |= HwPortDLCDDcDcPower;

}

//****************************************************************************
//
// LCDColorOff turns off the LCD panel.
//
//****************************************************************************
void LCDColorOff(void)
{
    unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;
    int iDelay;

    //
    // Power off the LCD DC-DC converter.
    //
    ((unsigned char *)pulPtr)[HwPortD] &= ~HwPortDLCDDcDcPower;

    //
    // Delay for a little while.
    //
    for(iDelay = 0; iDelay < 500; iDelay++)
    {
    }

    //
    // Power off the LCD panel.
    //
    ((unsigned char *)pulPtr)[HwPortD] &= ~HwPortDLCDPower;

    //
    // Power off the LCD controller.
    //
    pulPtr[HwControl >> 2] &= ~HwControlLcdEnable;
}

//****************************************************************************
//
// LCDColorBacklightOn turns on the backlighting on the LCD panel.
//
//****************************************************************************
void LCDColorBacklightOn(void)
{
	unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;

	((unsigned char *)pulPtr)[HwPortD] |= HwPortDLCDBacklightPower;
}

//****************************************************************************
//
// LCDColorBacklightOff turns off the backlighting on the LCD panel.
//
//****************************************************************************
void LCDColorBacklightOff(void)
{
	unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;

	((unsigned char *)pulPtr)[HwPortD] &= ~HwPortDLCDBacklightPower;
}

//****************************************************************************
//
// LCDColorContrastEnable enables the constrast setting on the LCD panel.
//
//****************************************************************************
void LCDColorContrastEnable(void)
{
	unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;

	pulPtr[HwPumpControl >> 2] |= 0x00000800; 
}

//****************************************************************************
//
// LCDColorContrastDisable disables the constrast setting on the LCD panel.
//
//****************************************************************************
void LCDColorContrastDisable(void)
{
	unsigned long * volatile pulPtr = (unsigned long *)HwBaseAddress;

	pulPtr[HwPumpControl >> 2] &= ~0x00000800; 
}

//****************************************************************************
//
// LCDColorCls clears the LCD frame buffer.
//
//****************************************************************************
void LCDColorCls(void)
{
    char *pcPtr = (char *)HwLcdBaseAddress;
    int iIdx;

    //
    // Fill the frame buffer with zeros.  LCD is 320x3x240.
    //
    for(iIdx = 0; iIdx < ((LCD_X_SIZE * 3) * LCD_Y_SIZE) / 2; iIdx++)
    {
        *pcPtr++ = 0x00;
    }
}

//****************************************************************************
//
// LCDColorSetPixel sets the color of the specified color.
//
//****************************************************************************
void LCDColorSetPixel(long lX, long lY, CPixel color)
{
   unsigned char * volatile pucPtr;
   unsigned long ulPixel ;

   //
   // Make sure the specified pixel is valid.
   //
   if((lX < 0) || (lX >= LCD_X_SIZE) || (lY < 0) || (lY >= LCD_Y_SIZE))
   {   
      return;
   }

   //
   // Determine the pixel number.
   // 
   ulPixel = lX + (lY * LCD_X_SIZE);

   //
   // Compute the address of the pixel.
   //
   pucPtr = (unsigned char *)(HwLcdBaseAddress + ((ulPixel * 3) / 2));

   //
   // Determine where the pixel starts - first nibble if there's no remainder,
   // second nibble if there is a remainder.  Then set the pixel color.
   //
   if((ulPixel * 3) % 2)
   {
       *pucPtr = (*pucPtr & 0x0F) | (color.r << 4);
       pucPtr++;
       *pucPtr = (*pucPtr & 0xF0) | color.g;
       *pucPtr = (*pucPtr & 0x0F) | (color.b << 4);
   }
   else
   {
       *pucPtr = (*pucPtr & 0xF0) | color.r;
       *pucPtr = (*pucPtr & 0x0F) | (color.g << 4);
       pucPtr++;
       *pucPtr = (*pucPtr & 0xF0) | color.b;
   }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩区在线观看| 日韩中文字幕不卡| 国产精品久久久久久久久免费相片 | 国产精品天干天干在观线| 亚洲欧美日韩久久| 久久精品久久精品| 9久草视频在线视频精品| 欧美性大战xxxxx久久久| 日韩三级电影网址| 日韩综合小视频| gogogo免费视频观看亚洲一| 欧美一二三四在线| 亚洲一级二级三级在线免费观看| 久久精品国产一区二区三区免费看| 北条麻妃国产九九精品视频| 精品视频在线免费看| 国产精品的网站| 激情成人综合网| 欧美大片在线观看一区| 亚洲大片精品永久免费| 在线免费视频一区二区| 国产精品污www在线观看| 国产成人丝袜美腿| 久久精品夜色噜噜亚洲aⅴ| 国产自产视频一区二区三区| 久久综合一区二区| 国产精品影视网| 国产女主播在线一区二区| 国产精品一卡二卡| 中文字幕不卡一区| 91日韩在线专区| 午夜精品在线看| 在线播放中文字幕一区| 精品在线观看免费| 欧美激情在线一区二区| 色综合色综合色综合色综合色综合| 亚洲精品欧美专区| 91精品国产高清一区二区三区 | 97精品电影院| 亚洲大型综合色站| 欧美激情一区不卡| 欧美日韩不卡一区二区| 国产v综合v亚洲欧| 亚洲一区在线看| 中文字幕电影一区| 91精品国产综合久久精品app| 国产精选一区二区三区| 亚洲一区二区欧美日韩| 国产欧美日韩视频一区二区| 欧洲精品一区二区| 不卡的av在线| 国产黄色91视频| 日韩av中文字幕一区二区 | 视频在线观看国产精品| 亚洲国产精品激情在线观看| 日韩三级在线观看| 欧美日韩一区不卡| 在线观看视频一区二区 | 亚洲免费av高清| 亚洲欧洲日韩一区二区三区| 国产拍揄自揄精品视频麻豆| 日韩欧美一区在线观看| 日韩免费视频线观看| 在线91免费看| 在线播放视频一区| 欧美一区二区三区小说| 日韩精品一区二区三区四区 | 成人精品鲁一区一区二区| 国产在线播放一区| 成人午夜视频网站| bt欧美亚洲午夜电影天堂| 色婷婷综合五月| 欧美天天综合网| 精品成人一区二区三区| 国产视频一区二区在线| 亚洲视频综合在线| 一区二区三区不卡在线观看 | 国产精品 欧美精品| jizzjizzjizz欧美| 欧美色图12p| 欧美精品一区二区三区在线 | 亚洲色图在线看| 日本中文在线一区| caoporen国产精品视频| 91精品欧美一区二区三区综合在 | 欧美日韩视频一区二区| 国产亚洲女人久久久久毛片| 一区二区三区中文字幕精品精品| 亚洲成av人综合在线观看| 国产毛片精品国产一区二区三区| 一本大道久久a久久精二百| 精品国产一区久久| 天天免费综合色| 色综合久久天天综合网| 国产欧美日韩卡一| 秋霞国产午夜精品免费视频| 在线中文字幕不卡| 亚洲日本成人在线观看| 暴力调教一区二区三区| 中日韩av电影| 99精品欧美一区二区三区小说| 欧美精品一区视频| 成人免费视频视频| 国产亚洲欧美日韩在线一区| 精品一区二区免费视频| 久久嫩草精品久久久精品一| 免费在线观看不卡| 久久在线观看免费| 成人av资源站| 亚洲视频一区在线| 国产电影精品久久禁18| 精品三级在线观看| 肉丝袜脚交视频一区二区| 国产成人av影院| 国产午夜一区二区三区| 激情伊人五月天久久综合| 久久久99免费| 91亚洲精品一区二区乱码| 亚洲精品中文字幕乱码三区| 欧洲中文字幕精品| 久久国产欧美日韩精品| 欧美高清一级片在线观看| 欧美性感一类影片在线播放| 免费成人深夜小野草| 国产精品私人影院| 欧美日韩国产精品自在自线| 韩国毛片一区二区三区| 亚洲视频电影在线| 精品国产一区二区三区不卡 | 亚洲精品成人少妇| 欧美成人video| 欧美日韩国产bt| 92国产精品观看| 成人黄色电影在线 | 色婷婷久久久亚洲一区二区三区| 天天色综合成人网| 亚洲国产另类av| 亚洲免费大片在线观看| 国产精品成人一区二区艾草| 日韩欧美中文字幕一区| 欧美精品一卡二卡| 在线观看亚洲精品视频| 色综合欧美在线视频区| 从欧美一区二区三区| 国产福利电影一区二区三区| 久久机这里只有精品| 麻豆国产精品一区二区三区| 久久国产乱子精品免费女| 视频一区在线视频| 老色鬼精品视频在线观看播放| 日本美女一区二区| 九九**精品视频免费播放| 蜜桃在线一区二区三区| 久草在线在线精品观看| 国产一区在线精品| 97se狠狠狠综合亚洲狠狠| 91久久香蕉国产日韩欧美9色| 欧美三级中文字| 久久亚洲精品小早川怜子| 国产精品福利一区| 五月天精品一区二区三区| 国产精品一区二区无线| 色94色欧美sute亚洲线路一久| 欧美日韩免费电影| 2017欧美狠狠色| 首页国产欧美久久| 91色.com| 国产人久久人人人人爽| 午夜国产精品一区| 不卡的av中国片| 欧美国产精品一区二区三区| 一级日本不卡的影视| 丰满岳乱妇一区二区三区| 91精品国产福利在线观看| 亚洲天堂网中文字| 成人少妇影院yyyy| 国产欧美日韩亚州综合 | 国产一区二区在线免费观看| 欧美三级电影网站| 国产精品进线69影院| 国产成人av一区| 中文字幕精品三区| av在线这里只有精品| 亚洲欧洲av色图| 97久久超碰精品国产| 亚洲情趣在线观看| 91蜜桃在线免费视频| 亚洲柠檬福利资源导航| 91啪九色porn原创视频在线观看| 国产精品久久久久久亚洲伦| 成人不卡免费av| 亚洲一区二区三区三| 欧美猛男gaygay网站| 久草在线在线精品观看| 久久久久成人黄色影片| 91网上在线视频| 蜜臀精品久久久久久蜜臀| 久久久不卡网国产精品二区| 91麻豆福利精品推荐| 日韩av高清在线观看|