📄 lcdconf.h
字号:
/*
*********************************************************************************************************
* 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 : LCDConf_1375_C8_C320x240.h
Purpose : Sample configuration file
----------------------------------------------------------------------
*/
#ifndef LCDCONF_H
#define LCDCONF_H
/*********************************************************************
*
* General configuration of LCD
*
**********************************************************************
*/
#define LCD_XSIZE (320) /* X-resolution of LCD, Logical coor. */
#define LCD_YSIZE (240) /* Y-resolution of LCD, Logical coor. */
#define LCD_BITSPERPIXEL (8)
#define LCD_CONTROLLER 1376
// My code start
#define LCD_SWAP_BYTE_ORDER (1)
#define LCD_FIXEDPALETTE (332)
#define LCD_SWAP_RB (1)
// My code end
/*********************************************************************
*
* Full bus configuration
*
**********************************************************************
*/
#define LCD_READ_MEM(Off) *((U16*) (0x440000+(((U32)(Off))<<1)))
#define LCD_WRITE_MEM(Off,data) *((U16*) (0x440000+(((U32)(Off))<<1)))=data
#define LCD_READ_REG(Off) *((volatile U16*)(0x400000+(((U16)(Off))<<1)))
#define LCD_WRITE_REG(Off,data) *((volatile U16*)(0x400000+(((U16)(Off))<<1)))=data
/*********************************************************************
*
* Define contents of registers
*
**********************************************************************
*/
#define LCD_REG04 0x00 // BUSCLK MEMCLK Config Register
#define LCD_REG05 0x12 // PCLK Config Register
#define LCD_REG10 0xD0 // PANEL Type Register
#define LCD_REG11 0x00 // MOD Rate Register
#define LCD_REG12 0x2B // Horizontal Total Register
#define LCD_REG14 ((LCD_XSIZE / 8) - 1) // Horizontal Display Period Register
#define LCD_REG16 0x00 // Horizontal Display Period Start Pos Register 0
#define LCD_REG17 0x00 // Horizontal Display Period Start Pos Register 1
#define LCD_REG18 0xFA // Vertical Total Register 0
#define LCD_REG19 0x00 // Vertical Total Register 1
#define LCD_REG1C (LCD_YSIZE - 1) // Vertical Display Period Register 0
#define LCD_REG1D 0x00 // Vertical Display Period Register 1
#define LCD_REG1E 0x00 // Vertical Display Period Start Pos Register 0
#define LCD_REG1F 0x00 // Vertical Display Period Start Pos Register 1
#define LCD_REG20 0x87 // Horizontal Sync Pulse Width Register
#define LCD_REG22 0x00 // Horizontal Sync Pulse Start Pos Register 0
#define LCD_REG23 0x00 // Horizontal Sync Pulse Start Pos Register 1
#define LCD_REG24 0x80 // Vertical Sync Pulse Width Register
#define LCD_REG26 0x01 // Vertical Sync Pulse Start Pos Register 0
#define LCD_REG27 0x00 // Vertical Sync Pulse Start Pos Register 1
//#define LCD_REG70 0x03 // Display Mode Register
#define LCD_REG70 0x83 // Display Mode Register
#define LCD_REG71 0x00 // Special Effects Register
// My code start
#define LCD_REG74 0x00
#define LCD_REG75 0x00
#define LCD_REG76 0x00
#define LCD_REG78 0x50
#define LCD_REG79 0x00
#define LCD_REG7C 0x00
#define LCD_REG7D 0x00
#define LCD_REG7E 0x00
#define LCD_REG80 0x50
#define LCD_REG81 0x00
#define LCD_REG84 0x00
#define LCD_REG85 0x00
#define LCD_REG88 0x00
#define LCD_REG89 0x00
#define LCD_REG8C 0x4F
#define LCD_REG8D 0x00
#define LCD_REG90 0xEF
#define LCD_REG91 0x00
#define LCD_REGA0 0x00
#define LCD_REGA1 0x00
#define LCD_REGA2 0x00
#define LCD_REGA3 0x00
#define LCD_REGA4 0x00
#define LCD_REGA5 0x00
#define LCD_REGA8 0x00
#define LCD_REGA9 0x80
#define LCD_REGAC 0x10 // REG_GPIO_STATUS_CONFIG0
#define LCD_REGAD 0x00
#define LCD_REGB0 0x00
#define LCD_REGB1 0x00
#define LCD_REGB2 0x00
#define LCD_REGB3 0x00
// My code end
/*********************************************************************
*
* Init sequence for 16 bit access
*
**********************************************************************
*/
#if !LCD_SWAP_BYTE_ORDER
#define LCD_WRITE_REGLH(Adr, d0, d1) LCD_WRITE_REG(Adr, ((d0)<<8) | (d1))
#else
#define LCD_WRITE_REGLH(Adr, d0, d1) LCD_WRITE_REG(Adr, ((d1)<<8) | (d0))
#endif
#define LCD_INIT_CONTROLLER() \
LCD_WRITE_REGLH(0x04 >> 1, LCD_REG04, LCD_REG05); \
LCD_WRITE_REGLH(0x10 >> 1, LCD_REG10, LCD_REG11); \
LCD_WRITE_REGLH(0x12 >> 1, LCD_REG12, 0); \
LCD_WRITE_REGLH(0x14 >> 1, LCD_REG14, 0); \
LCD_WRITE_REGLH(0x16 >> 1, LCD_REG16, LCD_REG17); \
LCD_WRITE_REGLH(0x18 >> 1, LCD_REG18, LCD_REG19); \
LCD_WRITE_REGLH(0x1C >> 1, LCD_REG1C, LCD_REG1D); \
LCD_WRITE_REGLH(0x1E >> 1, LCD_REG1E, LCD_REG1F); \
LCD_WRITE_REGLH(0x20 >> 1, LCD_REG20, 0); \
LCD_WRITE_REGLH(0x22 >> 1, LCD_REG22, LCD_REG23); \
LCD_WRITE_REGLH(0x24 >> 1, LCD_REG24, 0); \
LCD_WRITE_REGLH(0x26 >> 1, LCD_REG26, LCD_REG27); \
LCD_WRITE_REGLH(0x70 >> 1, LCD_REG70, LCD_REG71); \
LCD_WRITE_REGLH(0x74 >> 1, LCD_REG74, LCD_REG75); \
LCD_WRITE_REGLH(0x76 >> 1, LCD_REG76, 0); \
LCD_WRITE_REGLH(0x78 >> 1, LCD_REG78, LCD_REG79); \
LCD_WRITE_REGLH(0x7C >> 1, LCD_REG7C, LCD_REG7D); \
LCD_WRITE_REGLH(0x7E >> 1, LCD_REG7E, 0); \
LCD_WRITE_REGLH(0x80 >> 1, LCD_REG80, LCD_REG81); \
LCD_WRITE_REGLH(0x84 >> 1, LCD_REG84, LCD_REG85); \
LCD_WRITE_REGLH(0x88 >> 1, LCD_REG88, LCD_REG89); \
LCD_WRITE_REGLH(0x8C >> 1, LCD_REG8C, LCD_REG8D); \
LCD_WRITE_REGLH(0x90 >> 1, LCD_REG90, LCD_REG91); \
LCD_WRITE_REGLH(0xA0 >> 1, LCD_REGA0, LCD_REGA1); \
LCD_WRITE_REGLH(0xA2 >> 1, LCD_REGA2, LCD_REGA3); \
LCD_WRITE_REGLH(0xA4 >> 1, LCD_REGA4, LCD_REGA5); \
LCD_WRITE_REGLH(0xA8 >> 1, LCD_REGA8, LCD_REGA9); \
LCD_WRITE_REGLH(0xAC >> 1, LCD_REGAC, LCD_REGAD); \
LCD_WRITE_REGLH(0xB0 >> 1, LCD_REGB0, LCD_REGB1); \
LCD_WRITE_REGLH(0xB2 >> 1, LCD_REGB2, LCD_REGB3); \
#endif /* LCDCONF_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -