sed135x_16bit.c

来自「eCos操作系统源码」· C语言 代码 · 共 619 行 · 第 1/2 页

C
619
字号
//==========================================================================////      sed135x_16bit.c//// Author(s):   Michael Kelly - Cogent Computer Systems, Inc.// Date:        05-24-2002// Description: Init Code for SED135x Display Controller////==========================================================================// Copyright (C) 2003 Gary Thomas#include <pkgconf/hal.h>#include <cyg/infra/cyg_type.h>#include <cyg/hal/lcd_support.h>#include <cyg/hal/hal_io.h>typedef unsigned char  uchar;typedef unsigned short ushort;typedef volatile unsigned short vushort;typedef unsigned long  ulong;typedef volatile unsigned long  vulong;// board specific defines needed by sed135x#define SED_REG_BASE             0x78000000      // *RCE3#define SED_MEM_BASE             0x78400000#define SED_STEP                 2               // 16-bit port on 32-bit boundary// Control/Status Registers, 16-bit mode#define SED_REG16(_x_)           *(vushort *)((ulong)SED_REG_BASE + (((ulong)_x_ * SED_STEP) ^ 2))   #define H2SED(_x_)               _le16(_x_)#define SED_GET_PHYS_ADD(_reg_)  (SED_MEM_BASE + ((_reg_ * SED_STEP) ^ 2))#define RD_FB16(_reg_,_val_)     ((_val_) = *(vushort *)SED_GET_PHYS_ADD(_reg_))#define WR_FB16(_reg_,_val_)     (*(vushort *)SED_GET_PHYS_ADD(_reg_) = (_val_))#define SED_DISP_MODE_CRT        1#define SED_DISP_MODE_LCD        0#include "sed1356_16bit.h"//------------------------------------------------------------------------// Color Lookup Table Values//static ushort sed_lut_16bit[256][3] = {//    RED,  GREEN, BLUE    // Entry  { 0x0000,  0x0000, 0x0000, },  // 00    { 0x0000,  0x0000, 0x00A0, },  // 01   { 0x0000,  0x00A0, 0x0000, },  // 02   { 0x0000,  0x00A0, 0x00A0, },  // 03   { 0x00A0,  0x0000, 0x0000, },  // 04   { 0x00A0,  0x0000, 0x00A0, },  // 05   { 0x00A0,  0x00A0, 0x0000, },  // 06   { 0x00A0,  0x00A0, 0x00A0, },  // 07   { 0x0050,  0x0050, 0x0050, },  // 08   { 0x0050,  0x0050, 0x00F0, },  // 09   { 0x0050,  0x00F0, 0x0050, },  // 0A   { 0x0050,  0x00F0, 0x00F0, },  // 0B   { 0x00F0,  0x0050, 0x0050, },  // 0C   { 0x00F0,  0x0050, 0x00F0, },  // 0D   { 0x00F0,  0x00F0, 0x0050, },  // 0E   { 0x00F0,  0x00F0, 0x00F0, },  // 0F   { 0x0000,  0x0000, 0x0000, },  // 10   { 0x0010,  0x0010, 0x0010, },  // 11   { 0x0020,  0x0020, 0x0020, },  // 12   { 0x0020,  0x0020, 0x0020, },  // 13   { 0x0030,  0x0030, 0x0030, },  // 14   { 0x0040,  0x0040, 0x0040, },  // 15   { 0x0050,  0x0050, 0x0050, },  // 16   { 0x0060,  0x0060, 0x0060, },  // 17   { 0x0070,  0x0070, 0x0070, },  // 18   { 0x0080,  0x0080, 0x0080, },  // 19   { 0x0090,  0x0090, 0x0090, },  // 1A   { 0x00A0,  0x00A0, 0x00A0, },  // 1B   { 0x00B0,  0x00B0, 0x00B0, },  // 1C   { 0x00C0,  0x00C0, 0x00C0, },  // 1D   { 0x00E0,  0x00E0, 0x00E0, },  // 1E   { 0x00F0,  0x00F0, 0x00F0, },  // 1F   { 0x0000,  0x0000, 0x00F0, },  // 20   { 0x0040,  0x0000, 0x00F0, },  // 21   { 0x0070,  0x0000, 0x00F0, },  // 22   { 0x00B0,  0x0000, 0x00F0, },  // 23   { 0x00F0,  0x0000, 0x00F0, },  // 24   { 0x00F0,  0x0000, 0x00B0, },  // 25   { 0x00F0,  0x0000, 0x0070, },  // 26   { 0x00F0,  0x0000, 0x0040, },  // 27   { 0x00F0,  0x0000, 0x0000, },  // 28   { 0x00F0,  0x0040, 0x0000, },  // 29   { 0x00F0,  0x0070, 0x0000, },  // 2A   { 0x00F0,  0x00B0, 0x0000, },  // 2B   { 0x00F0,  0x00F0, 0x0000, },  // 2C   { 0x00B0,  0x00F0, 0x0000, },  // 2D   { 0x0070,  0x00F0, 0x0000, },  // 2E   { 0x0040,  0x00F0, 0x0000, },  // 2F   { 0x0000,  0x00F0, 0x0000, },  // 30   { 0x0000,  0x00F0, 0x0040, },  // 31   { 0x0000,  0x00F0, 0x0070, },  // 32   { 0x0000,  0x00F0, 0x00B0, },  // 33   { 0x0000,  0x00F0, 0x00F0, },  // 34   { 0x0000,  0x00B0, 0x00F0, },  // 35   { 0x0000,  0x0070, 0x00F0, },  // 36   { 0x0000,  0x0040, 0x00F0, },  // 37   { 0x0070,  0x0070, 0x00F0, },  // 38   { 0x0090,  0x0070, 0x00F0, },  // 39   { 0x00B0,  0x0070, 0x00F0, },  // 3A   { 0x00D0,  0x0070, 0x00F0, },  // 3B   { 0x00F0,  0x0070, 0x00F0, },  // 3C   { 0x00F0,  0x0070, 0x00D0, },  // 3D   { 0x00F0,  0x0070, 0x00B0, },  // 3E   { 0x00F0,  0x0070, 0x0090, },  // 3F   { 0x00F0,  0x0070, 0x0070, },  // 40   { 0x00F0,  0x0090, 0x0070, },  // 41   { 0x00F0,  0x00B0, 0x0070, },  // 42   { 0x00F0,  0x00D0, 0x0070, },  // 43   { 0x00F0,  0x00F0, 0x0070, },  // 44   { 0x00D0,  0x00F0, 0x0070, },  // 45   { 0x00B0,  0x00F0, 0x0070, },  // 46   { 0x0090,  0x00F0, 0x0070, },  // 47   { 0x0070,  0x00F0, 0x0070, },  // 48   { 0x0070,  0x00F0, 0x0090, },  // 49   { 0x0070,  0x00F0, 0x00B0, },  // 4A   { 0x0070,  0x00F0, 0x00D0, },  // 4B   { 0x0070,  0x00F0, 0x00F0, },  // 4C   { 0x0070,  0x00D0, 0x00F0, },  // 4D   { 0x0070,  0x00B0, 0x00F0, },  // 4E   { 0x0070,  0x0090, 0x00F0, },  // 4F   { 0x00B0,  0x00B0, 0x00F0, },  // 50   { 0x00C0,  0x00B0, 0x00F0, },  // 51   { 0x00D0,  0x00B0, 0x00F0, },  // 52   { 0x00E0,  0x00B0, 0x00F0, },  // 53   { 0x00F0,  0x00B0, 0x00F0, },  // 54   { 0x00F0,  0x00B0, 0x00E0, },  // 55   { 0x00F0,  0x00B0, 0x00D0, },  // 56   { 0x00F0,  0x00B0, 0x00C0, },  // 57   { 0x00F0,  0x00B0, 0x00B0, },  // 58   { 0x00F0,  0x00C0, 0x00B0, },  // 59   { 0x00F0,  0x00D0, 0x00B0, },  // 5A   { 0x00F0,  0x00E0, 0x00B0, },  // 5B   { 0x00F0,  0x00F0, 0x00B0, },  // 5C   { 0x00E0,  0x00F0, 0x00B0, },  // 5D   { 0x00D0,  0x00F0, 0x00B0, },  // 5E   { 0x00C0,  0x00F0, 0x00B0, },  // 5F   { 0x00B0,  0x00F0, 0x00B0, },  // 60   { 0x00B0,  0x00F0, 0x00C0, },  // 61   { 0x00B0,  0x00F0, 0x00D0, },  // 62   { 0x00B0,  0x00F0, 0x00E0, },  // 63   { 0x00B0,  0x00F0, 0x00F0, },  // 64   { 0x00B0,  0x00E0, 0x00F0, },  // 65   { 0x00B0,  0x00D0, 0x00F0, },  // 66   { 0x00B0,  0x00C0, 0x00F0, },  // 67   { 0x0000,  0x0000, 0x0070, },  // 68   { 0x0010,  0x0000, 0x0070, },  // 69   { 0x0030,  0x0000, 0x0070, },  // 6A   { 0x0050,  0x0000, 0x0070, },  // 6B   { 0x0070,  0x0000, 0x0070, },  // 6C   { 0x0070,  0x0000, 0x0050, },  // 6D   { 0x0070,  0x0000, 0x0030, },  // 6E   { 0x0070,  0x0000, 0x0010, },  // 6F   { 0x0070,  0x0000, 0x0000, },  // 70   { 0x0070,  0x0010, 0x0000, },  // 71   { 0x0070,  0x0030, 0x0000, },  // 72   { 0x0070,  0x0050, 0x0000, },  // 73   { 0x0070,  0x0070, 0x0000, },  // 74   { 0x0050,  0x0070, 0x0000, },  // 75   { 0x0030,  0x0070, 0x0000, },  // 76   { 0x0010,  0x0070, 0x0000, },  // 77   { 0x0000,  0x0070, 0x0000, },  // 78   { 0x0000,  0x0070, 0x0010, },  // 79   { 0x0000,  0x0070, 0x0030, },  // 7A   { 0x0000,  0x0070, 0x0050, },  // 7B   { 0x0000,  0x0070, 0x0070, },  // 7C   { 0x0000,  0x0050, 0x0070, },  // 7D   { 0x0000,  0x0030, 0x0070, },  // 7E   { 0x0000,  0x0010, 0x0070, },  // 7F   { 0x0030,  0x0030, 0x0070, },  // 80   { 0x0040,  0x0030, 0x0070, },  // 81   { 0x0050,  0x0030, 0x0070, },  // 82   { 0x0060,  0x0030, 0x0070, },  // 83   { 0x0070,  0x0030, 0x0070, },  // 84   { 0x0070,  0x0030, 0x0060, },  // 85   { 0x0070,  0x0030, 0x0050, },  // 86   { 0x0070,  0x0030, 0x0040, },  // 87   { 0x0070,  0x0030, 0x0030, },  // 88   { 0x0070,  0x0040, 0x0030, },  // 89   { 0x0070,  0x0050, 0x0030, },  // 8A   { 0x0070,  0x0060, 0x0030, },  // 8B   { 0x0070,  0x0070, 0x0030, },  // 8C   { 0x0060,  0x0070, 0x0030, },  // 8D   { 0x0050,  0x0070, 0x0030, },  // 8E   { 0x0040,  0x0070, 0x0030, },  // 8F   { 0x0030,  0x0070, 0x0030, },  // 90   { 0x0030,  0x0070, 0x0040, },  // 91   { 0x0030,  0x0070, 0x0050, },  // 92   { 0x0030,  0x0070, 0x0060, },  // 93   { 0x0030,  0x0070, 0x0070, },  // 94   { 0x0030,  0x0060, 0x0070, },  // 95   { 0x0030,  0x0050, 0x0070, },  // 96   { 0x0030,  0x0040, 0x0070, },  // 97   { 0x0050,  0x0050, 0x0070, },  // 98   { 0x0050,  0x0050, 0x0070, },  // 99   { 0x0060,  0x0050, 0x0070, },  // 9A   { 0x0060,  0x0050, 0x0070, },  // 9B   { 0x0070,  0x0050, 0x0070, },  // 9C   { 0x0070,  0x0050, 0x0060, },  // 9D   { 0x0070,  0x0050, 0x0060, },  // 9E   { 0x0070,  0x0050, 0x0050, },  // 9F   { 0x0070,  0x0050, 0x0050, },  // A0   { 0x0070,  0x0050, 0x0050, },  // A1   { 0x0070,  0x0060, 0x0050, },  // A2   { 0x0070,  0x0060, 0x0050, },  // A3   { 0x0070,  0x0070, 0x0050, },  // A4   { 0x0060,  0x0070, 0x0050, },  // A5   { 0x0060,  0x0070, 0x0050, },  // A6   { 0x0050,  0x0070, 0x0050, },  // A7   { 0x0050,  0x0070, 0x0050, },  // A8   { 0x0050,  0x0070, 0x0050, },  // A9   { 0x0050,  0x0070, 0x0060, },  // AA   { 0x0050,  0x0070, 0x0060, },  // AB   { 0x0050,  0x0070, 0x0070, },  // AC   { 0x0050,  0x0060, 0x0070, },  // AD   { 0x0050,  0x0060, 0x0070, },  // AE   { 0x0050,  0x0050, 0x0070, },  // AF   { 0x0000,  0x0000, 0x0040, },  // B0   { 0x0010,  0x0000, 0x0040, },  // B1   { 0x0020,  0x0000, 0x0040, },  // B2   { 0x0030,  0x0000, 0x0040, },  // B3   { 0x0040,  0x0000, 0x0040, },  // B4   { 0x0040,  0x0000, 0x0030, },  // B5   { 0x0040,  0x0000, 0x0020, },  // B6   { 0x0040,  0x0000, 0x0010, },  // B7   { 0x0040,  0x0000, 0x0000, },  // B8   { 0x0040,  0x0010, 0x0000, },  // B9   { 0x0040,  0x0020, 0x0000, },  // BA   { 0x0040,  0x0030, 0x0000, },  // BB   { 0x0040,  0x0040, 0x0000, },  // BC   { 0x0030,  0x0040, 0x0000, },  // BD   { 0x0020,  0x0040, 0x0000, },  // BE   { 0x0010,  0x0040, 0x0000, },  // BF   { 0x0000,  0x0040, 0x0000, },  // C0   { 0x0000,  0x0040, 0x0010, },  // C1   { 0x0000,  0x0040, 0x0020, },  // C2   { 0x0000,  0x0040, 0x0030, },  // C3   { 0x0000,  0x0040, 0x0040, },  // C4   { 0x0000,  0x0030, 0x0040, },  // C5   { 0x0000,  0x0020, 0x0040, },  // C6   { 0x0000,  0x0010, 0x0040, },  // C7   { 0x0020,  0x0020, 0x0040, },  // C8   { 0x0020,  0x0020, 0x0040, },  // C9   { 0x0030,  0x0020, 0x0040, },  // CA   { 0x0030,  0x0020, 0x0040, },  // CB   { 0x0040,  0x0020, 0x0040, },  // CC   { 0x0040,  0x0020, 0x0030, },  // CD   { 0x0040,  0x0020, 0x0030, },  // CE   { 0x0040,  0x0020, 0x0020, },  // CF   { 0x0040,  0x0020, 0x0020, },  // D0   { 0x0040,  0x0020, 0x0020, },  // D1   { 0x0040,  0x0030, 0x0020, },  // D2   { 0x0040,  0x0030, 0x0020, },  // D3   { 0x0040,  0x0040, 0x0020, },  // D4   { 0x0030,  0x0040, 0x0020, },  // D5   { 0x0030,  0x0040, 0x0020, },  // D6   { 0x0020,  0x0040, 0x0020, },  // D7   { 0x0020,  0x0040, 0x0020, },  // D8   { 0x0020,  0x0040, 0x0020, },  // D9   { 0x0020,  0x0040, 0x0030, },  // DA   { 0x0020,  0x0040, 0x0030, },  // DB   { 0x0020,  0x0040, 0x0040, },  // DC   { 0x0020,  0x0030, 0x0040, },  // DD   { 0x0020,  0x0030, 0x0040, },  // DE   { 0x0020,  0x0020, 0x0040, },  // DF   { 0x0020,  0x0020, 0x0040, },  // E0   { 0x0030,  0x0020, 0x0040, },  // E1   { 0x0030,  0x0020, 0x0040, },  // E2   { 0x0030,  0x0020, 0x0040, },  // E3   { 0x0040,  0x0020, 0x0040, },  // E4   { 0x0040,  0x0020, 0x0030, },  // E5   { 0x0040,  0x0020, 0x0030, },  // E6   { 0x0040,  0x0020, 0x0030, },  // E7   { 0x0040,  0x0020, 0x0020, },  // E8   { 0x0040,  0x0030, 0x0020, },  // E9   { 0x0040,  0x0030, 0x0020, },  // EA   { 0x0040,  0x0030, 0x0020, },  // EB   { 0x0040,  0x0040, 0x0020, },  // EC   { 0x0030,  0x0040, 0x0020, },  // ED   { 0x0030,  0x0040, 0x0020, },  // EE   { 0x0030,  0x0040, 0x0020, },  // EF   { 0x0020,  0x0040, 0x0020, },  // F0   { 0x0020,  0x0040, 0x0030, },  // F1   { 0x0020,  0x0040, 0x0030, },  // F2   { 0x0020,  0x0040, 0x0030, },  // F3   { 0x0020,  0x0040, 0x0040, },  // F4   { 0x0020,  0x0030, 0x0040, },  // F5   { 0x0020,  0x0030, 0x0040, },  // F6   { 0x0020,  0x0030, 0x0040, },  // F7   { 0x0000,  0x0000, 0x0000, },  // F8   { 0x0000,  0x0000, 0x0000, },  // F9   { 0x0000,  0x0000, 0x0000, },  // FA   { 0x0000,  0x0000, 0x0000, },  // FB   { 0x0000,  0x0000, 0x0000, },  // FC   { 0x0000,  0x0000, 0x0000, },  // FD   { 0x0000,  0x0000, 0x0000, },  // FE   { 0x0000,  0x0000, 0x0000, },  // FF };//--------------------------------------------------------------------------// function prototypes//int         sed135x_init(int depth, struct lcd_info *lcd);static void sed135x_on(void);static void sed135x_off(void);static void sed_lcd_bkl(uchar bright);

⌨️ 快捷键说明

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