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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcdmemc.c

?? s3c44b0+ucgui+初始化的一個版本
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : LCDMem.C
Purpose     : Driver for LCDs using internal memory
----------------------------------------------------------------------
Version-Date---Author-Explanation
----------------------------------------------------------------------
2.01a   010927 JE     a) Reworked to work with LCD_MIRROR_...
                         and LCD_SWAP_XY
2.01    010814 JE     a) Support for 6bpp added,
                         HLine & 1bpp optimized
2.00    010402 RS     a) LCD_GetDevCaps removed from driver
                         (now LCD.c)
0.92    000122 RS     _GetPixel functionality written
0.91    000121 RS     Default for LCD_VRAMTYPE defined
0.90    991205 RS     Driver accelerated
0.00    990118 RS     First release. 
----------------------------------------------------------------------
Known problems or limitations with current version
----------------------------------------------------------------------
None.
---------------------------LIST OF CONFIG SWITCHES--------------------
The following is a list of additional configuration switches for this
driver. These switches might not be listed in the manual, because
the manual mainly covers the general config switches which are
supported by all drivers.
----------------------------------------------------------------------
define ----------------------Explanation------------------------------
LCD_LSB_SHIFT                Support for both big and little endian
                             systems.
                             0 for little endian (default),
                             8 for big endian.
LCD_OPTIMIZE                 Controls the use of optimized routines.
                             If 1, several (speed) optimizations are used.
                             Default: ON (1)
LCD_VRAMTYPE                 Controls storage area of VRAM
---------------------------END-OF-HEADER------------------------------
*/

#define LCDMEMC_C

#include <string.h>             /* for memset */
#include <stddef.h>           /* needed for definition of NULL */
#include "LCD_Private.h"      /* private modul definitions & config */
#include "GUI_Private.h"
#include "GUIDebug.h"
#include "LCD_0.h"            /* Defines for first display */

#ifndef LCD_VRAMTYPE
  #define LCD_VRAMTYPE
#endif



#if (LCD_CONTROLLER   == 0) && ((LCD_FIXEDPALETTE == 111) || (LCD_FIXEDPALETTE == 222)) \
      && (!defined(WIN32) | defined(LCD_SIMCONTROLLER))



   /* Generate code only if selected ! */

#define LCD_BYTESPERLINE (3*(((LCD_VXSIZE_PHYS)+7)/8))

#ifndef WIN32
  #if   (LCD_BITSPERPIXEL == 3)
    LCD_VRAMTYPE U8 LCD_VRam[LCD_BITSPERPIXEL/3][LCD_VYSIZE_PHYS * LCD_BYTESPERLINE];
  #elif (LCD_BITSPERPIXEL == 6)
    LCD_VRAMTYPE U8 LCD_VRam_0[LCD_VYSIZE_PHYS * LCD_BYTESPERLINE];
    LCD_VRAMTYPE U8 LCD_VRam_1[LCD_VYSIZE_PHYS * LCD_BYTESPERLINE];
  #endif
#else
  U8* GetpVRam(int);
  #if   (LCD_BITSPERPIXEL == 3)
    U8* pVRam;
  #elif (LCD_BITSPERPIXEL == 6)
    U8* pVRam_0;
    U8* pVRam_1;
  #endif
#endif



/*
  ********************************************************************
  *                                                                  *
  *            Defaults for configuration                            *
  *                                                                  *
  ********************************************************************

Please be aware that not all configuration errors can be captured !

*/
#ifndef LCD_VERIFY
  #define LCD_VERIFY (0)
#endif

/* Switch for support of multiple pages.
 Only available with certain LCD-controllers */
#ifndef LCD_SUPPORT_PAGING
  #define LCD_SUPPORT_PAGING            (0)
#endif

/* Switch for support of run-time inversion of display. */
#ifndef LCD_SUPPORT_REVERSEMODE
  #define LCD_SUPPORT_REVERSEMODE       (0)
#endif

/* Switch support for the LCD_SetOrg function of the driver */
#ifndef LCD_SUPPORT_SETORG
  #define LCD_SUPPORT_SETORG            (1)
#endif

#ifndef LCD_SUPPORT_PALETTE
  #define LCD_SUPPORT_PALETTE            (1)
#endif

#ifndef LCD_SCHEDULE_CNT
  #define LCD_SCHEDULE_CNT        (0)
#endif

#ifndef LCD_ISRDATA
  #define LCD_ISRDATA
#endif
  
/* Bit position of least sig. byte when accessing words */
#ifndef LCD_LSB_SHIFT
  #define LCD_LSB_SHIFT                 (0)
#endif

#ifndef LCD_OPTIMIZE
  #define LCD_OPTIMIZE                (1)
#endif

/*
  ********************************************************************
  *                                                                  *
  *                Support for Segment/COMLUTs                       *
  *                                                                  *
  ********************************************************************
*/

/* For compatibility with older configs, define defaults */
#ifndef LCD_SUPPORT_COMTRANS
  #define LCD_SUPPORT_COMTRANS 0
#endif
#ifndef LCD_SUPPORT_SEGTRANS
  #define LCD_SUPPORT_SEGTRANS 0
#endif

#if LCD_SUPPORT_COMTRANS
  extern U8 LCD__aLine2Com0[LCD_LASTCOM0-LCD_FIRSTCOM0+1];
#endif

#if LCD_SUPPORT_SEGTRANS
  extern U8 LCD__aRow2Seg0[LCD_LASTSEG0-LCD_FIRSTSEG0+1];
#endif


/*
  ********************************************************************
  *                                                                  *
  *                 Macro calculations                               *
  *                                                                  *
  ********************************************************************
*/

/* Define number of used coms/segments per controller */
#define LCD_NUM_SEGS0 (LCD_LASTSEG0-LCD_FIRSTSEG0+1)
#define LCD_NUM_COMS0 (LCD_LASTCOM0-LCD_FIRSTCOM0+1)
/* Define total number of used coms/segments */
#define LCD_NUM_SEGS LCD_NUM_SEGS0
#define LCD_NUM_COMS LCD_NUM_COMS0

#define BKCOLOR LCD_BKCOLORINDEX
#define   COLOR LCD_COLORINDEX

/*
  ********************************************************************
  *                                                                  *
  *            Configuration switch checking                         *
  *                                                                  *
  ********************************************************************

Please be aware that not all configuration errors can be captured !

*/

#if (LCD_BITSPERPIXEL != 3) && (LCD_BITSPERPIXEL != 6)
  #error this value for LCD_BITSPERPIXEL not yet supported
#endif

/* Check if number of segments / coms equals resolution */
#if (LCD_NUM_SEGS < LCD_XSIZE_PHYS)
/*  #error Please check segment setup of controller 0 and X/YSIZE !!!*/
#endif
#if (LCD_NUM_COMS < LCD_YSIZE_PHYS)
/*  #error Please check com setup of controller 0 and X/YSIZE !!!*/
#endif


/*
  ********************************************************************
  *                                                                  *
  *       EXPORTs for ISR                                            *
  *                                                                  *
  ********************************************************************
*/

#ifndef LCD_TIMERINIT1
  #define LCD_TIMERINIT1  1599
#endif
#ifndef LCD_TIMERINIT0
  #define LCD_TIMERINIT0  1065
#endif

LCD_ISRDATA U16 LCD__BitsPerPixel = LCD_BITSPERPIXEL/3;
LCD_ISRDATA U8 LCD_VRAMTYPE* LCD__apVRam[LCD_BITSPERPIXEL/3];
LCD_ISRDATA U16 LCD__aTimerReload[LCD_BITSPERPIXEL/3] = {
  LCD_TIMERINIT0
  #if LCD_BITSPERPIXEL/3 >1
		,LCD_TIMERINIT1
  #endif
};

/*
  ********************************************************************
  *
  *                  ID translation table
  *
  ********************************************************************

This table contains 0, 1, 2, ... and serves as translation table for DDBs

*/

#define INTS(Base)  Base+0,Base+1,Base+2,Base+3,Base+4,Base+5,   \
                    Base+6,Base+7,Base+8,Base+9,Base+10,Base+11, \
                    Base+12,Base+13,Base+14,Base+15

static const LCD_PIXELINDEX aID[] = {
  INTS(0),
  #if LCD_MAX_LOG_COLORS > 0x10
    INTS(0x10),
  #endif
  #if LCD_MAX_LOG_COLORS > 0x20
    INTS(0x20),
    INTS(0x30),
  #endif
  #if LCD_MAX_LOG_COLORS > 0x40
    INTS(0x40),
    INTS(0x50),
    INTS(0x60),
    INTS(0x70),
  #endif
  #if LCD_MAX_LOG_COLORS > 0x80
    INTS(0x80),
    INTS(0x90),
    INTS(0xa0),
    INTS(0xb0),
    INTS(0xc0),
    INTS(0xd0),
    INTS(0xe0),
    INTS(0xf0)
  #endif
};


/*
        *********************************************************
        *                                                       *
        *       Macros for internal use                         *
        *                                                       *
        *********************************************************
*/

#if (LCD_SUPPORT_COMTRANS)
  #if (LCD_MIRROR_Y)
    #error LCD_MIRROR_Y not supported with COMTrans !
  #endif
  #if (LCD_MIRROR_X)
    #error LCD_MIRROR_X not supported with COMTrans !
  #endif
#endif

#if (!LCD_SUPPORT_COMTRANS && !LCD_SUPPORT_SEGTRANS)
  #if   (!LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((x), (y), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((x), (y), (c))
    #define GETPIXEL(x, y)         GetPixel            ((x), (y))
    #define XORPIXEL(x, y)         XorPixel            ((x), (y))
  #elif (!LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((y), (x), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((y), (x), (c))
    #define GETPIXEL(x, y)         GetPixel            ((y), (x))
    #define XORPIXEL(x, y)         XorPixel            ((y), (x))
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((x), (LCD_YSIZE-1-(y)), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((x), (LCD_YSIZE-1-(y)), (c))
    #define GETPIXEL(x, y)         GetPixel            ((x), (LCD_YSIZE-1-(y)))
    #define XORPIXEL(x, y)         XorPixel            ((x), (LCD_YSIZE-1-(y)))
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((LCD_YSIZE-1-(y)), (x), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((LCD_YSIZE-1-(y)), (x), (c))
    #define GETPIXEL(x, y)         GetPixel            ((LCD_YSIZE-1-(y)), (x))
    #define XORPIXEL(x, y)         XorPixel            ((LCD_YSIZE-1-(y)), (x))
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((LCD_XSIZE-1-(x)), (y), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((LCD_XSIZE-1-(x)), (y), (c))
    #define GETPIXEL(x, y)         GetPixel            ((LCD_XSIZE-1-(x)), (y))
    #define XORPIXEL(x, y)         XorPixel            ((LCD_XSIZE-1-(x)), (y))
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((y), (LCD_XSIZE-1-(x)), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((y), (LCD_XSIZE-1-(x)), (c))
    #define GETPIXEL(x, y)         GetPixel            ((y), (LCD_XSIZE-1-(x)))
    #define XORPIXEL(x, y)         XorPixel            ((y), (LCD_XSIZE-1-(x)))
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define SETPIXEL(x, y, c)      SETPIXELPHYS        ((LCD_XSIZE-1-(x)), (LCD_YSIZE-1-(y)), (c))
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS        ((LCD_XSIZE-1-(x)), (LCD_YSIZE-1-(y)), (c))
    #define GETPIXEL(x, y)         GetPixel            ((LCD_XSIZE-1-(x)), (LCD_YSIZE-1-(y)))
    #define XORPIXEL(x, y)         XorPixel            ((LCD_XSIZE-1-(x)), (LCD_YSIZE-1-(y)))
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #error This combination of mirroring/swapping not yet supported
  #endif
#elif (LCD_SUPPORT_COMTRANS && !LCD_SUPPORT_SEGTRANS)
  #if (!LCD_SWAP_XY)
    #define SETPIXEL(x, y, c)      SetPixelPhys(x,LCD__aLine2Com0[y], c)
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS(x,LCD__aLine2Com0[y], c)
    #define GETPIXEL(x, y)     LCD_L0_GetPixelIndex(x,LCD__aLine2Com0[y])
    #define XORPIXEL(x, y)      XorPixel(x,LCD__aLine2Com0[y])
  #else
    #define SETPIXEL(x, y, c)      SetPixelPhys(y,LCD__aLine2Com0[x], c)
    #define SETPIXELFAST(x, y, c)  SETPIXELPHYS(y,LCD__aLine2Com0[x], c)
    #define GETPIXEL(x, y)     LCD_L0_GetPixelIndex(y,LCD__aLine2Com0[x])
    #define XORPIXEL(x, y)      XorPixel(y,LCD__aLine2Com0[x])
  #endif
#else
  #error This combination of switches not yet supported
#endif

#define XY2OFF(x,y) (y*LCD_BYTESPERLINE+3*(x>>3))

#ifndef WIN32
  #if   (LCD_BITSPERPIXEL == 3)
    #define OFF2PTR(Off) &LCD_VRam[0][Off]
  #elif (LCD_BITSPERPIXEL == 6)
    #define OFF2PTR_0(Off) &LCD_VRam_0[Off]
    #define OFF2PTR_1(Off) &LCD_VRam_1[Off]
  #endif
#else
  #if   (LCD_BITSPERPIXEL == 3)
    #define OFF2PTR(Off) (pVRam+Off)
  #elif (LCD_BITSPERPIXEL == 6)
    #define OFF2PTR_0(Off) (pVRam_0+Off)
    #define OFF2PTR_1(Off) (pVRam_1+Off)
  #endif
#endif





/*
        *********************************************************
        *                                                       *
        *       Internal set pixel routines                     *
        *                                                       *
        *********************************************************
*/

#if (LCD_BITSPERPIXEL == 3)

#define SETPIXELPHYS(x,y,c)                       \
{                                                 \
   U8 LCD_VRAMTYPE* p = OFF2PTR(XY2OFF(x,y));     \
  switch (x&7) {                                  \
  case 0:                                         \
    *p = (*p&~(7<<5))|(c<<5);                     \
    break;                                        \
  case 1:                                         \
    *p = (*p&~(7<<2))|(c<<2);                     \
    break;                                        \
  case 2:                                         \
    *p   = (*p&~(3))|(c>>1);                      \
    p++;                                          \
    *p = (*p &~(1<<7))|(c<<7);                    \
    break;                                        \
  case 3:                                         \
    p++;                                          \
    *p = (*p&~(7<<4))|(c<<4);                     \
    break;                                        \
  case 4:                                         \
    p++;                                          \
    *p = (*p&~(7<<1))|(c<<1);                     \
    break;                                        \
  case 5:                                         \
    p++;                                          \
    *p   = (*p&~(1))|(c>>2);                      \
    p++;                                          \
    *p = (*p &~(3<<6))|(c<<6);                    \
    break;                                        \
  case 6:                                         \
    p+=2;                                         \
    *p = (*p&~(7<<3))|(c<<3);                     \
    break;                                        \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一卡两卡| 狠狠色丁香久久婷婷综合丁香| 欧美性受xxxx黑人xyx性爽| 国产在线播放一区| 日韩国产欧美视频| 亚洲一区在线观看视频| 国产欧美精品一区aⅴ影院| 日韩视频一区在线观看| 在线亚洲+欧美+日本专区| 国产不卡在线视频| 久草精品在线观看| 理论电影国产精品| 丝袜诱惑亚洲看片| 亚洲成人免费视频| 一区二区三区在线观看欧美| 中文字幕日韩精品一区| 91精品国产综合久久香蕉的特点| 在线观看日韩一区| 在线欧美一区二区| 精彩视频一区二区三区| 日本女优在线视频一区二区| 日本伊人色综合网| 亚洲一区二区精品3399| 一区二区理论电影在线观看| 亚洲欧美韩国综合色| 中文字幕中文字幕在线一区 | 在线影视一区二区三区| 99riav久久精品riav| 国产一区二区在线影院| 国产一二三精品| 国产精品一二二区| 成人黄色免费短视频| 99精品热视频| 在线一区二区观看| 欧美日韩高清不卡| 精品理论电影在线观看| 国产欧美一区二区在线观看| 国产精品国产三级国产a| 国产精品久久久久久久久搜平片| 亚洲欧美日韩一区二区| 一区二区三区.www| 久久精品国内一区二区三区| 丁香天五香天堂综合| 91老司机福利 在线| 欧美日韩国产小视频在线观看| 欧美日韩国产综合久久| 久久婷婷久久一区二区三区| 天堂影院一区二区| 91在线免费播放| 欧美成人福利视频| 亚洲bt欧美bt精品777| 成人丝袜视频网| 欧美成人猛片aaaaaaa| 亚洲一区二区av在线| 成人在线综合网| 欧美变态口味重另类| 亚洲午夜精品网| 91在线看国产| 国产精品美日韩| 国产成人综合精品三级| 精品国免费一区二区三区| 午夜精品久久久久久不卡8050| 99视频在线精品| 国产精品嫩草影院av蜜臀| 韩国中文字幕2020精品| 91精品在线观看入口| 一区二区三区加勒比av| 97精品视频在线观看自产线路二| 久久一区二区三区国产精品| 美女国产一区二区三区| 欧美一卡2卡三卡4卡5免费| 亚洲成av人**亚洲成av**| 91黄色免费版| 亚洲午夜精品17c| 欧美性大战xxxxx久久久| 亚洲激情第一区| 欧美亚洲一区二区三区四区| 一二三区精品福利视频| 91国产免费看| 亚洲一二三级电影| 欧美老女人在线| 日本欧美加勒比视频| 欧美成人精品1314www| 久久精品国产一区二区三区免费看| 欧美一区二区三区在线观看视频| 日韩精品视频网| 精品精品国产高清a毛片牛牛| 国产综合久久久久久鬼色| 久久精品在线免费观看| 成人av在线一区二区| 亚洲久本草在线中文字幕| 欧美在线视频不卡| 日韩电影在线一区二区三区| 精品国产一二三区| 国产成人高清视频| 亚洲人午夜精品天堂一二香蕉| 欧美网站一区二区| 精品在线观看免费| 中文一区一区三区高中清不卡| 成人app在线| 亚洲一区二区在线播放相泽| 欧美xxxxx裸体时装秀| 成年人午夜久久久| 亚洲成人av中文| 国产亚洲人成网站| 欧美视频在线一区| 国产成人一级电影| 亚洲成人激情社区| 中文字幕巨乱亚洲| 欧美日本韩国一区二区三区视频| 国产一区二区三区在线观看免费视频 | 成人激情校园春色| 亚洲成精国产精品女| 精品电影一区二区| 欧美性videosxxxxx| 国产成人精品一区二区三区网站观看| 亚洲免费伊人电影| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲精品免费播放| 欧美精品一区二| 欧美日韩国产影片| 91麻豆精品视频| 精品一区二区三区免费| 亚洲一区在线播放| 国产精品久久精品日日| 欧美成人艳星乳罩| 欧美亚洲国产一区二区三区va| 国产精品白丝av| 热久久免费视频| 一区二区三区在线视频播放| 精品福利在线导航| 91精品麻豆日日躁夜夜躁| 92国产精品观看| 成人一区在线看| 麻豆国产精品一区二区三区 | 久久综合色婷婷| 欧美精品乱码久久久久久| av在线不卡电影| 成人涩涩免费视频| 国产99久久久久| 国产一区欧美二区| 久久草av在线| 久久精品噜噜噜成人av农村| 日韩电影在线看| 日韩黄色片在线观看| 天天综合色天天综合色h| 一区二区免费在线| 亚洲三级在线免费观看| 亚洲天堂免费在线观看视频| 国产亚洲综合av| 久久久久国产成人精品亚洲午夜| 欧美成人综合网站| 久久综合九色综合97婷婷女人 | 亚洲午夜电影网| 夜夜嗨av一区二区三区| 一区二区三区在线视频免费| 亚洲精品国产第一综合99久久| 日韩美女视频一区二区| 国产精品乱人伦| 亚洲欧美偷拍另类a∨色屁股| 亚洲啪啪综合av一区二区三区| 亚洲免费av在线| 亚洲综合色自拍一区| 午夜精品久久久| 久久精品国产秦先生| 国产一区二区中文字幕| 盗摄精品av一区二区三区| a美女胸又www黄视频久久| 99国产精品99久久久久久| 在线免费观看一区| 欧美一级淫片007| 久久综合成人精品亚洲另类欧美| 国产欧美精品日韩区二区麻豆天美| 最新国产成人在线观看| 亚洲国产美女搞黄色| 久久99久久精品| 不卡区在线中文字幕| 精品视频免费在线| 欧美精品一区二区三区在线 | 日韩精品一区二区三区老鸭窝| 久久精品亚洲精品国产欧美kt∨| 国产精品久久国产精麻豆99网站 | 欧美一区二区三区影视| 欧美本精品男人aⅴ天堂| 国产精品国产自产拍高清av王其| 亚洲福利视频导航| 国产成人免费在线观看不卡| 欧美午夜在线观看| 久久久精品2019中文字幕之3| 亚洲最新在线观看| 国产在线播放一区三区四| 91激情在线视频| 久久久www成人免费毛片麻豆| 亚洲精品久久久蜜桃| 国产中文字幕精品| 欧美美女一区二区在线观看| 欧美韩国日本一区| 日本人妖一区二区| 欧美午夜精品理论片a级按摩| 欧美国产亚洲另类动漫|