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

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

?? lcd13xx.c

?? Samsung ARM7 s3c44b0 + uC-OSii + uC-GUI 完美的綜合到了一起
?? C
?? 第 1 頁 / 共 5 頁
字號:
/***********************************************************************************************************                                                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        : LCD13XX.CPurpose     : Driver for LCDs using a single Seiko Epson SED13XX controllers              This version supports a single LCD controller              in (almost) any hardware configuration. The following              derivatives are currently supported:              SED1352              SED1354              SED1356     (With/Without BitBlt engine support)              SED1374              SED1375              SED13806              Other Epson LCD controllers are very similar and could              be covered by this driver as well, but have not been              tested.----------------------------------------------------------------------   ---------------------------LIST OF CONFIG SWITCHES--------------------The following is a list of additional configuration switches for thisdriver. These switches might not be listed in the manual, becausethe manual mainly covers the general config switches which aresupported by all drivers.----------------------------------------------------------------------define ----------------------Explanation------------------------------LCD_SWAP_BYTE_ORDER          Activate if high low bytes are swapped                             Default: 0LCD_WRITE_MEM32(Off,Data32)  This macro accelerates display access                             if defined by allowing the CPU to write                             32 bits at a time to the controller.                             (For 32 bits CPUs only and only if the                             BUS interface unit can automatically                             convert this to 2 16 bit accessesLCD_OPTIMIZE                 Controls the use of optimized routines.                             If 1, several (speed) optimizations are used.                             Default: ON (1)LCD_USE_BITBLT               This switch controls the use of optimized routines                              with SED1356 bitblt engine.                             If 1, the optimized routines with bitblt access are used.                             The default value depends of LCD_BITSPERPIXEL: (4  ) -> 0, (8,15) -> 1LCD_ENABLE_REG_ACCESS()    LCD_ENABLE_MEM_ACCESS()      In most systems (and with most LCD-controllers)                             registers / memory can be accessed at                             different addresses. However, in some                             systems, it could be necessary to exec                             code in order to be able to access the                             registers or memory. This code should                             then be placed in these macros (rather                             than the actual access macros, which                             would be slowed down)LCD_DATAADR                  define adress if video memory can be treated                             like regular memory                             (will speed up driver)----------------------------------------------------------------------Known problems or limitations with current version----------------------------------------------------------------------none----------------------------------------------------------------------Open issues----------------------------------------------------------------------None---------------------------END-OF-HEADER------------------------------*/#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 */// extern U8  LCD_Buffer [LCD_XSIZE*LCD_YSIZE];extern U8  LCD_Buffer [];// 對 Video RAM 區(qū)的讀寫操作.#define LCD_READ_MEM(Off)            LCD_Buffer[Off]#define LCD_WRITE_MEM(Off,data)      LCD_Buffer[Off]=data#define LCD_READ_REG(Off)            0#define LCD_WRITE_REG(Off,data)      #if (LCD_CONTROLLER/100 == 13) && (LCD_CONTROLLER/10 != 133) \      && (!defined(WIN32) | defined(LCD_SIMCONTROLLER))/*        *********************************************************        *                                                       *        *           Compiler specific settings                  *        *                                                       *        **********************************************************/#ifdef WIN32   /* Avoid warnings in MS-compiler */  #pragma warning(disable : 4244)  // warning C4244: '=' : conversion from 'long ' to 'unsigned char ', possible loss of data  #pragma warning(disable : 4761)  // warning C4761: integral size mismatch in argument; conversion supplied#endif/************************************************************           Controller renumbering**********************************************************  EPSON decided to rename all of their controllers. In order to  be able to work with old and new numbers, we simply map the old ones  to the new ones.*/#if LCD_CONTROLLER == 1386  #undef LCD_CONTROLLER  #define LCD_CONTROLLER 13806#endif/*        *********************************************************        *                                                       *        *           Defaults for configuration                  *        *                                                       *        **********************************************************//* Switch for support of multiple pages. Only available with certain LCD-controllers */#ifndef LCD_SUPPORT_PAGING  #define LCD_SUPPORT_PAGING            (0)#endif#ifndef LCD_SCHEDULE_CNT  #define LCD_SCHEDULE_CNT              (0)#endif#ifndef LCD_NUM_CONTROLLERS  #define LCD_NUM_CONTROLLERS           (1)#endif#ifndef LCD_BUSWIDTH  #define LCD_BUSWIDTH                  (16)#endif#ifndef LCD_OPTIMIZE  #define LCD_OPTIMIZE                (1)#endif#if (LCD_CONTROLLER == 1356) || (LCD_CONTROLLER == 13806)  #ifndef LCD_USE_BITBLT    #if ((LCD_BITSPERPIXEL == 16) || (LCD_BITSPERPIXEL == 8 )) && (LCD_MIRROR_Y == 0) && (LCD_SWAP_XY  == 0)      #define LCD_USE_BITBLT            (1)    #else      #define LCD_USE_BITBLT            (0)    #endif  #else    #if (LCD_MIRROR_Y)      #error BITBLT engine does not support LCD_MIRROR_Y = 1!    #endif    #if (LCD_SWAP_XY)      #error BITBLT engine does not support LCD_SWAP_XY = 1!    #endif  #endif#else  #define LCD_USE_BITBLT                (0)#endif#ifndef LCD_ENABLE_REG_ACCESS  #define LCD_ENABLE_REG_ACCESS()#endif#ifndef LCD_ENABLE_MEM_ACCESS  #define LCD_ENABLE_MEM_ACCESS()#endif#ifndef STATIC  #define STATIC static#endif/*        *********************************************************        *                                                       *        *           Defines for configuration simulation        *        *                                                       *        **********************************************************/#if defined(WIN32) && !defined(USE_PC_HARDWARE)  void SIM_WriteMem8(unsigned int Off, int Data);  void SIM_WriteReg8(unsigned int Off, int Data);  int  SIM_ReadMem8(unsigned int Off);  int  SIM_ReadReg8(unsigned int Off);  void SIM_WriteMem16(unsigned int Off, int Data);  void SIM_WriteReg16(unsigned int Off, int Data);  int  SIM_ReadMem16(unsigned int Off);  int  SIM_ReadReg16(unsigned int Off);  #undef  LCD_READ_MEM  #undef  LCD_READ_REG  #undef  LCD_WRITE_MEM  #undef  LCD_WRITE_REG  #if LCD_BUSWIDTH==8    #define LCD_READ_MEM(Off)       SIM_ReadMem8(Off)    #define LCD_WRITE_MEM(Off,Data) SIM_WriteMem8(Off, Data)    #define LCD_READ_REG(Off)       SIM_ReadReg8(Off)    #define LCD_WRITE_REG(Off,Data) SIM_WriteReg8(Off, Data)  #elif LCD_BUSWIDTH==16    #define LCD_READ_MEM(Off)       SIM_ReadMem16(Off)    #define LCD_WRITE_MEM(Off,Data) SIM_WriteMem16(Off, Data)    #define LCD_READ_REG(Off)       SIM_ReadReg16(Off)    #define LCD_WRITE_REG(Off,Data) SIM_WriteReg16(Off, Data)  #endif#elif defined(WIN32) && defined(USE_PC_HARDWARE)  void PC_WriteMem8(unsigned int Off, int Data);  void PC_WriteReg8(unsigned int Off, int Data);  int  PC_ReadMem8(unsigned int Off);  int  PC_ReadReg8(unsigned int Off);  void PC_WriteMem16(unsigned int Off, int Data);  void PC_WriteReg16(unsigned int Off, int Data);  int  PC_ReadMem16(unsigned int Off);  int  PC_ReadReg16(unsigned int Off);  #undef  LCD_READ_MEM  #undef  LCD_READ_REG  #undef  LCD_WRITE_MEM  #undef  LCD_WRITE_REG  #if LCD_BUSWIDTH==8    #define LCD_READ_MEM(Off)       PC_ReadMem8(Off)    #define LCD_WRITE_MEM(Off,Data) PC_WriteMem8(Off, Data)    #define LCD_READ_REG(Off)       PC_ReadReg8(Off)    #define LCD_WRITE_REG(Off,Data) PC_WriteReg8(Off, Data)  #else    #define LCD_READ_MEM(Off)       PC_ReadMem16(Off)    #define LCD_WRITE_MEM(Off,Data) PC_WriteMem16(Off, Data)    #define LCD_READ_REG(Off)       PC_ReadReg16(Off)    #define LCD_WRITE_REG(Off,Data) PC_WriteReg16(Off, Data)  #endif#endif/**********************************************************           Remap Hardware macros***********************************************************/#if LCD_NUM_DISPLAYS ==1 /* Use single display macros */#else  #if LCD_DISPLAY_INDEX == 0     /* First display in a multi-display configuration */    #define LCD_READ_MEM(Off)       LCD_READ_MEM_0(Off)    #define LCD_WRITE_MEM(Off,Data) LCD_WRITE_MEM_0(Off,Data)    #define LCD_READ_REG(Off)       LCD_READ_REG_0(Off)    #define LCD_WRITE_REG(Off,Data) LCD_WRITE_REG_0(Off,Data)    #define LCD_INIT_CONTROLLER     LCD_INIT_CONTROLLER_0  #else    #define LCD_READ_MEM(Off)       LCD_READ_MEM_1(Off)    #define LCD_WRITE_MEM(Off,Data) LCD_WRITE_MEM_1(Off,Data)    #define LCD_READ_REG(Off)       LCD_READ_REG_1(Off)    #define LCD_WRITE_REG(Off,Data) LCD_WRITE_REG_1(Off,Data)    #define LCD_INIT_CONTROLLER     LCD_INIT_CONTROLLER_1  #endif#endif/*        *********************************************************        *                                                       *        *          Internal types                               *        *                                                       *        **********************************************************//*        *********************************************************        *                                                       *        *          SCHEDULING                                   *        *                                                       *        **********************************************************/#if (LCD_SCHEDULE_CNT !=0)  static int ScheduleCntRem=LCD_SCHEDULE_CNT;  #define CHECK_SCHEDULE(PixelCnt)                              \          if ((ScheduleCntRem-=(PixelCnt)) <=0) {               \            ScheduleCntRem=LCD_SCHEDULE_CNT;                    \            LCD_SCHEDULE();                                     \          }#else  #define CHECK_SCHEDULE(PixelCnt)#endif/*        *********************************************************        *                                                       *        *           Macro calculations                          *        *                                                       *        **********************************************************//* To make life easier, assign physical x/y size */#if !LCD_SWAP_XY  #define LCD_XSIZE_P   LCD_XSIZE  #define LCD_YSIZE_P   LCD_YSIZE  #define LCD_VXSIZE_P  LCD_VXSIZE  #define LCD_VYSIZE_P  LCD_VYSIZE#else  #define LCD_XSIZE_P   LCD_YSIZE  #define LCD_YSIZE_P   LCD_XSIZE  #define LCD_VXSIZE_P  LCD_VYSIZE  #define LCD_VYSIZE_P  LCD_VXSIZE#endif#if   LCD_BITSPERPIXEL == 1  #define BYTESPERLINE  (LCD_VXSIZE_P/8)  #define WORDSPERLINE  (LCD_VXSIZE_P/16)#elif   LCD_BITSPERPIXEL == 2  #define BYTESPERLINE  (LCD_VXSIZE_P/4)  #define WORDSPERLINE  (LCD_VXSIZE_P/8)#elif   LCD_BITSPERPIXEL == 4  #define BYTESPERLINE  (LCD_VXSIZE_P/2)  #define WORDSPERLINE  (LCD_VXSIZE_P/4)#elif LCD_BITSPERPIXEL == 8  #define BYTESPERLINE  (LCD_VXSIZE_P)  #define WORDSPERLINE  (LCD_VXSIZE_P/2)#elif  (LCD_BITSPERPIXEL == 15)  #define BYTESPERLINE  (LCD_VXSIZE_P*2)  #define WORDSPERLINE  (LCD_VXSIZE_P)#elif  (LCD_BITSPERPIXEL == 16)  #define BYTESPERLINE  (LCD_VXSIZE_P*2)  #define WORDSPERLINE  (LCD_VXSIZE_P)#else  #error This colordepth is not supported !!!#endif#ifndef LCD_USE_32BIT_OFF  #if ((WORDSPERLINE * LCD_YSIZE) > 0xFFFF)    #define LCD_USE_32BIT_OFF 1  #else    #define LCD_USE_32BIT_OFF 0  #endif#endif#if LCD_USE_32BIT_OFF  typedef unsigned long tOff;#else  typedef unsigned int  tOff;#endif/*        *********************************************************        *                                                       *        *              Macros, standard                         *        *                                                       *        *********************************************************These macros can be found in any LCD-driver as they serve purposesthat can be found in any class of LCD-driver (Like clipping).*/#define BKCOLOR LCD_BKCOLORINDEX#define   COLOR LCD_COLORINDEX/*        *********************************************************        *                                                       *        *      Configuration switch checking                    *        *                                                       *        *********************************************************Please be aware that not all configuration errors can be captured !*//* Check number of controllers */#if ((LCD_NUM_CONTROLLERS >1) || (LCD_NUM_CONTROLLERS <0))  #error "More than 1 controller not supported by this driver"#endif#if ((LCD_CONTROLLER==1356)||(LCD_CONTROLLER==13806)) && (LCD_BUSWIDTH !=16)  #error This controller does not work with 8-bit bus#endif#if (((LCD_CONTROLLER==1356)||(LCD_CONTROLLER==13806)) && LCD_USE_BITBLT && ((LCD_BITSPERPIXEL != 8) && (LCD_BITSPERPIXEL != 16)))  #error BitBlt-Access only available for 8bpp and 16bpp mode#endif#if (LCD_CONTROLLER==1374)  #if (LCD_BITSPERPIXEL == 8)    #if (LCD_FIXEDPALETTE != 233)      #error This controller supports only 233 palette in 8 bpp mode !    #endif  #endif#endif/*        *********************************************************        *                                                       *        *       Macros for internal use                         *        *                                                       *        **********************************************************/#if !defined (LCD_LUT_COM)  #define LINE2COM(y) y#else  #define LINE2COM(y) LCD__aLine2Com0[y]#endif#if LCD_BUSWIDTH == 16  #if   (LCD_BITSPERPIXEL == 16)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+(x))  #elif (LCD_BITSPERPIXEL == 15)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+(x))  #elif (LCD_BITSPERPIXEL ==  8)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+(x>>1))  #elif (LCD_BITSPERPIXEL ==  4)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+(x>>2))  #elif (LCD_BITSPERPIXEL ==  2)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+((x)>>3))  #elif (LCD_BITSPERPIXEL ==  1)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)WORDSPERLINE+((x)>>4))  #endif#else  #if   (LCD_BITSPERPIXEL == 16)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)BYTESPERLINE+((x)<<1))  #elif (LCD_BITSPERPIXEL == 15)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)BYTESPERLINE+((x)<<1))  #elif (LCD_BITSPERPIXEL ==  8)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)BYTESPERLINE+(x))  #elif (LCD_BITSPERPIXEL ==  4)    #define XY2OFF(x,y)    (tOff)((tOff)LINE2COM(y)*(tOff)BYTESPERLINE+((x)>>1))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色综合天天久久综合精品| 欧美日韩五月天| av激情亚洲男人天堂| 成人精品gif动图一区| 91久久一区二区| 一区二区三区高清| 午夜国产精品一区| 偷窥少妇高潮呻吟av久久免费| 麻豆国产精品777777在线| 国产三级精品三级在线专区| 一区二区欧美国产| 久久不见久久见免费视频1| 99综合电影在线视频| 色综合一区二区三区| 亚洲精品在线免费观看视频| 亚洲日本va在线观看| 麻豆成人久久精品二区三区小说| av不卡免费在线观看| 日韩无一区二区| 久久一二三国产| 午夜电影久久久| 成人app在线观看| 欧美一区二区三区免费大片 | 国产午夜精品美女毛片视频| 一区二区在线观看免费 | 亚洲精品国产无套在线观| 蜜桃av一区二区在线观看| 久久99精品国产91久久来源| 91亚洲永久精品| 久久久久久久久99精品| 午夜视频在线观看一区二区| 国产成人久久精品77777最新版本| 精品视频在线视频| 亚洲视频一区二区在线观看| 亚洲综合精品自拍| 99视频精品全部免费在线| 精品日韩在线观看| 日韩av一级电影| 欧美日韩大陆一区二区| 亚洲精品视频在线看| av在线一区二区三区| 久久精品欧美日韩精品| 国产一区二区三区黄视频 | 欧美剧情电影在线观看完整版免费励志电影| 91精品国产综合久久久蜜臀粉嫩 | 国产乱码字幕精品高清av | 日本在线不卡视频一二三区| 欧美性猛交xxxxxxxx| 国产精品欧美久久久久无广告| 国产成人久久精品77777最新版本| 中国色在线观看另类| 99久久久国产精品| 一区二区三区欧美在线观看| 欧美日韩高清一区二区| 久久99精品久久久久久久久久久久| 视频一区二区中文字幕| 日韩亚洲欧美在线| 国产大陆精品国产| 亚洲免费在线播放| 欧美一区二区三区免费观看视频 | 首页国产丝袜综合| 亚洲精品在线观看网站| 99久久777色| 婷婷成人激情在线网| 久久久精品蜜桃| 日本黄色一区二区| 久久精品国产亚洲5555| 一区二区中文字幕在线| 欧美一区二区二区| 97精品电影院| 蜜芽一区二区三区| 国产精品久久久久久亚洲毛片| 欧美日韩在线三区| 国产宾馆实践打屁股91| 亚洲成人动漫在线观看| 亚洲国产经典视频| 3751色影院一区二区三区| 成人综合在线网站| 美国十次了思思久久精品导航| 国产精品久久久久9999吃药| 91麻豆精品国产综合久久久久久| 国产 日韩 欧美大片| 免费成人av资源网| 亚洲一区二区三区中文字幕在线| 久久综合狠狠综合久久综合88| 色一区在线观看| 成人精品国产一区二区4080| 免费欧美在线视频| 五月婷婷另类国产| 亚洲三级理论片| 国产亚洲一区二区三区| 日韩欧美自拍偷拍| 欧美精品一二三| 在线一区二区三区四区| 成人av在线看| 国产91精品欧美| 国产一区二区三区四区在线观看| 日韩福利电影在线观看| 亚洲一区二区在线观看视频| 亚洲欧洲国产日本综合| 日本一区免费视频| 久久亚洲免费视频| 欧美mv和日韩mv的网站| 欧美一个色资源| 91精品视频网| 欧美年轻男男videosbes| 欧美影院一区二区| 在线免费观看日韩欧美| 99re视频精品| 97精品视频在线观看自产线路二| 成人激情午夜影院| 成人国产电影网| 粉嫩av一区二区三区| 国产成人啪免费观看软件 | 欧美韩日一区二区三区| 26uuu亚洲综合色| 精品国产百合女同互慰| 亚洲精品一区二区三区精华液 | 欧美老女人第四色| 69成人精品免费视频| 欧美久久一二区| 日韩欧美一区在线| 欧美精品一区二区三区在线| 久久综合九色综合97_久久久| 2023国产精品| 欧美激情一区在线观看| 亚洲视频在线一区| 亚洲成人一区二区| 蜜臀久久99精品久久久久久9| 久久精品国产亚洲a| 国产福利一区二区三区| 福利一区在线观看| 91视频一区二区| 91麻豆蜜桃一区二区三区| 色婷婷久久一区二区三区麻豆| 日韩欧美一二三四区| 久久精品视频网| 亚洲一区二区三区不卡国产欧美 | 1区2区3区国产精品| 久久99蜜桃精品| 日本美女视频一区二区| 亚洲免费在线观看视频| 免费成人在线网站| 欧美视频一区二区在线观看| 国产精品天天看| 久久99久久99| 欧美高清性hdvideosex| 亚洲乱码日产精品bd| 国产大陆精品国产| 久久女同性恋中文字幕| 日韩av不卡在线观看| 欧美视频一区在线| 亚洲自拍偷拍网站| 一本一本大道香蕉久在线精品| 久久精品网站免费观看| 韩国精品主播一区二区在线观看| 欧美日韩国产bt| 亚洲va欧美va人人爽| 欧美亚洲国产bt| 亚洲青青青在线视频| 99国产精品视频免费观看| 国产偷国产偷精品高清尤物 | 波多野结衣中文字幕一区二区三区| 日韩免费看网站| 日韩高清不卡一区二区| 制服丝袜中文字幕一区| 亚洲一区二区精品久久av| 91豆麻精品91久久久久久| 国产精品天美传媒沈樵| av在线这里只有精品| 亚洲欧洲一区二区在线播放| aaa亚洲精品| 中文字幕一区在线观看视频| 成人美女在线视频| 亚洲视频在线一区| 在线一区二区三区四区五区 | 成人精品视频一区二区三区 | 日韩欧美在线一区二区三区| 日本成人在线视频网站| 日韩午夜精品电影| 韩国三级中文字幕hd久久精品| 石原莉奈在线亚洲三区| 91精品在线免费观看| 日韩av一级电影| 精品久久久久av影院| 国产精品1区2区| 国产精品久久久久9999吃药| 91黄色激情网站| 日精品一区二区| 精品美女被调教视频大全网站| 韩国视频一区二区| 成人免费一区二区三区在线观看| 色88888久久久久久影院野外 | 日欧美一区二区| 精品国产免费久久| 成人小视频免费观看| 一区二区三区精品久久久| 91麻豆精品国产综合久久久久久| 国产一区二区三区黄视频| 中文字幕在线不卡视频|