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

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

?? lcd13xx.c

?? ucgui在ARM44B0目標板上的移植代碼支持16級灰度
?? 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 區的讀寫操作.#define LCD_READ_MEM(Off)           LCD_Buffer[Off]/* LCD_Buffer[(Off/80)*80+((Off%80)/4)*4+4-(Off%80)%4]*/#define LCD_WRITE_MEM(Off,data)     LCD_Buffer[Off]=data/*LCD_Buffer[(Off/80)*80+((Off%80)/4)*4+4-(Off%80)%4]=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)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品天美传媒沈樵| 国产亚洲精品中文字幕| 日本黄色一区二区| 99综合影院在线| 国产jizzjizz一区二区| 国产精品一区二区三区99| 国产一区二区三区四区五区美女 | 国产毛片精品一区| 美女高潮久久久| 国产一区 二区| 99re视频这里只有精品| 色一情一伦一子一伦一区| 欧美亚洲一区二区在线| 欧美电影在哪看比较好| 宅男噜噜噜66一区二区66| 日韩一区二区在线观看| 久久一夜天堂av一区二区三区| 欧美成人性战久久| 日本一区二区不卡视频| 一区二区三区中文字幕在线观看| 亚洲一区二区精品久久av| 天天综合网天天综合色| 黄页网站大全一区二区| 成人教育av在线| 欧美在线免费观看视频| 日韩一区二区三区电影在线观看| 精品sm捆绑视频| 综合久久久久久久| 美腿丝袜亚洲综合| 不卡视频在线看| 欧美一区二区三区视频在线观看 | 国产91清纯白嫩初高中在线观看| caoporm超碰国产精品| 欧美午夜电影一区| 久久青草欧美一区二区三区| 一区二区三区日韩精品视频| 久久精品国产澳门| 色综合色狠狠天天综合色| 日韩亚洲欧美成人一区| 国产精品国产三级国产普通话三级| 性做久久久久久| 国产成人av电影在线观看| 欧美精品久久一区| 综合色中文字幕| 国产伦精品一区二区三区免费| 在线观看91精品国产入口| 久久综合狠狠综合| 视频在线在亚洲| 色狠狠综合天天综合综合| 久久精子c满五个校花| 日韩制服丝袜av| 在线精品视频一区二区| 日本一区二区成人| 激情欧美一区二区| 欧美一区二区三区在| 亚洲精品免费电影| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产一区二区主播在线| 91精品一区二区三区在线观看| 亚洲免费观看高清在线观看| 国产真实乱对白精彩久久| 欧美一区二区视频在线观看2020| 亚洲综合小说图片| 色综合久久中文字幕| 最新中文字幕一区二区三区| 国产精品一区二区在线观看网站| 日韩精品一区二| 免费观看日韩av| 欧美妇女性影城| 午夜伦理一区二区| 欧美乱妇15p| 日韩和欧美一区二区| 欧美日韩三级在线| 亚洲图片自拍偷拍| 欧美日韩国产一二三| 亚洲成av人片一区二区梦乃| 在线免费观看视频一区| 亚洲综合免费观看高清完整版在线| av成人免费在线| 亚洲精品大片www| 欧美午夜影院一区| 亚洲成a人v欧美综合天堂| 欧美日韩大陆在线| 美女mm1313爽爽久久久蜜臀| 26uuu亚洲综合色| 国产91对白在线观看九色| 日本一二三不卡| 色婷婷国产精品久久包臀| 亚洲成人动漫在线观看| 欧美一区二区在线免费观看| 极品尤物av久久免费看| 亚洲国产精品黑人久久久| jiyouzz国产精品久久| 亚洲日穴在线视频| 7777精品伊人久久久大香线蕉最新版| 蜜桃传媒麻豆第一区在线观看| 久久久噜噜噜久久人人看| www.欧美日韩国产在线| 午夜在线成人av| 久久午夜羞羞影院免费观看| 成人视屏免费看| 亚洲第一搞黄网站| 日韩一区二区在线看| 国产成人激情av| 亚洲高清一区二区三区| 久久婷婷色综合| 91丨九色丨尤物| 日本vs亚洲vs韩国一区三区| 国产精品区一区二区三区| 欧美色图12p| 成人污污视频在线观看| 午夜av区久久| 国产精品久久久久7777按摩 | 欧美精品一区二区精品网| 不卡视频在线观看| 欧美aⅴ一区二区三区视频| 国产精品蜜臀av| 7777精品伊人久久久大香线蕉| 成人av午夜电影| 久久99精品久久久久久动态图| 亚洲精品欧美综合四区| 久久精品人人做| 在线综合亚洲欧美在线视频| 91天堂素人约啪| 国产一区二区三区电影在线观看| 亚洲成av人片一区二区三区| 最新成人av在线| 久久亚洲一级片| 91精品国产乱| 欧美三级电影网站| 色综合中文字幕国产 | 国产999精品久久| 日本sm残虐另类| 亚洲曰韩产成在线| 亚洲婷婷综合色高清在线| 国产婷婷色一区二区三区四区| 日韩欧美你懂的| 欧美日韩亚洲综合| 色综合久久六月婷婷中文字幕| 国产宾馆实践打屁股91| 精品午夜一区二区三区在线观看| 偷拍一区二区三区| 亚洲成精国产精品女| 亚洲一区二区在线视频| 亚洲欧洲三级电影| 国产精品短视频| 亚洲图片另类小说| 国产精品久久久久aaaa樱花| 国产精品午夜春色av| 国产亚洲欧美在线| 国产欧美一区二区三区网站| 精品国产三级电影在线观看| 久久尤物电影视频在线观看| 久久久久久黄色| 国产精品亲子伦对白| 中文字幕在线一区二区三区| ...av二区三区久久精品| 成人欧美一区二区三区| 国产精品成人免费| 亚洲嫩草精品久久| 一区二区免费在线| 亚洲成人中文在线| 免费久久99精品国产| 国内精品在线播放| 国产传媒日韩欧美成人| 成人免费视频免费观看| 一本一道久久a久久精品| 欧美少妇xxx| 精品电影一区二区| 欧美国产精品久久| 亚洲丝袜另类动漫二区| 亚洲小说欧美激情另类| 麻豆91免费观看| 国产一区二区三区四| 色综合亚洲欧洲| 欧美日韩亚洲丝袜制服| 久久亚洲精品国产精品紫薇 | 91女厕偷拍女厕偷拍高清| 在线视频你懂得一区| 精品入口麻豆88视频| 国产三级精品在线| 亚洲午夜久久久久久久久久久| 另类人妖一区二区av| 色综合久久中文字幕| 精品国产免费人成在线观看| 日韩毛片一二三区| 久久99热这里只有精品| 99re成人精品视频| 欧美一区二区三区影视| 中文字幕中文字幕中文字幕亚洲无线| 亚洲国产精品天堂| 粉嫩嫩av羞羞动漫久久久| 777亚洲妇女| 亚洲日本在线天堂| 国产精品正在播放| 8x8x8国产精品| 亚洲欧美日韩国产综合| 国内精品国产成人国产三级粉色 | 美腿丝袜一区二区三区| 99久久久免费精品国产一区二区|