120 lines
8.8 KiB
C
120 lines
8.8 KiB
C
#ifndef __ili9341_H
|
|
#define __ili9341_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define LCD_REG (*((volatile unsigned short *) 0x60000000)) /* DC = 0 */
|
|
#define LCD_RAM (*((volatile unsigned short *) 0x60080000)) /* DC = 1 */
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
|
#define ILI9341_NOP 0x00
|
|
#define ILI9341_RESET 0x01
|
|
#define ILI9341_READ_DISPLAY_IDENTIFICATION_INFORMATION 0x04
|
|
#define ILI9341_READ_DISPLAY_STATUS 0x09
|
|
#define ILI9341_READ_DISPLAY_POWER_MODE 0x0A
|
|
#define ILI9341_READ_DISPLAY_MADCTL 0x0B
|
|
#define ILI9341_READ_DISPLAY_PIXEL_FORMAT 0x0C
|
|
#define ILI9341_READ_DISPLAY_IMAGE_FORMAT 0x0D
|
|
#define ILI9341_READ_DISPLAY_SIGNAL_MODE 0x0E
|
|
#define ILI9341_READ_DISPLAY_SELF_DIAGNOSTIC_RESULT 0x0F
|
|
#define ILI9341_ENTER_SLEEP_MODE 0x10
|
|
#define ILI9341_SLEEP_OUT 0x11
|
|
#define ILI9341_PARTIAL_MODE_ON 0x12
|
|
#define ILI9341_NORMAL_DISPLAY_MODE_ON 0x13
|
|
#define ILI9341_DISPLAY_INVERSION_OFF 0x20
|
|
#define ILI9341_DISPLAY_INVERSION_ON 0x21
|
|
#define ILI9341_GAMMA 0x26
|
|
#define ILI9341_DISPLAY_OFF 0x28
|
|
#define ILI9341_DISPLAY_ON 0x29
|
|
#define ILI9341_COLUMN_ADDR 0x2A
|
|
#define ILI9341_PAGE_ADDR 0x2B
|
|
#define ILI9341_GRAM 0x2C
|
|
#define ILI9341_COLOR_SET 0x2D
|
|
#define ILI9341_MEMORY_READ 0x2E
|
|
#define ILI9341_PARTIAL_AREA 0x30
|
|
#define ILI9341_VERTICAL_SCROLLING_DEFINITION 0x33
|
|
#define ILI9341_TEARING_EFFECT_LINE_OFF 0x34
|
|
#define ILI9341_TEARING_EFFECT_LINE_ON 0x35
|
|
#define ILI9341_MAC 0x36
|
|
#define ILI9341_VERTICAL_SCROLLING_START_ADDRESS 0x37
|
|
#define ILI9341_IDLE_MODE_OFF 0x38
|
|
#define ILI9341_IDLE_MODE_ON 0x39
|
|
#define ILI9341_PIXEL_FORMAT 0x3A
|
|
#define ILI9341_WMC 0x3C
|
|
#define ILI9341_RMC 0x3E
|
|
#define ILI9341_SET_TEAR_SCANLINE 0x44
|
|
#define ILI9341_WDB 0x51
|
|
#define ILI9341_READ_DISPLAY_BRIGHTNESS 0x52
|
|
#define ILI9341_WCD 0x53
|
|
#define ILI9341_READ_CTRL_DISPLAY 0x54
|
|
#define ILI9341_WCABC 0x55
|
|
#define ILI9341_RCABC 0x56
|
|
#define ILI9341_WCABCMB 0x5E
|
|
#define ILI9341_RCABCMB 0x5F
|
|
#define ILI9341_RGB_INTERFACE 0xB0
|
|
#define ILI9341_FRC 0xB1
|
|
#define ILI9341_FRAME_CTRL_NM 0xB2
|
|
#define ILI9341_FRAME_CTRL_IM 0xB3
|
|
#define ILI9341_FRAME_CTRL_PM 0xB4
|
|
#define ILI9341_BPC 0xB5
|
|
#define ILI9341_DFC 0xB6
|
|
#define ILI9341_ENTRY_MODE_SET 0xB7
|
|
#define ILI9341_BACKLIGHT_CONTROL_1 0xB8
|
|
#define ILI9341_BACKLIGHT_CONTROL_2 0xB9
|
|
#define ILI9341_BACKLIGHT_CONTROL_3 0xBA
|
|
#define ILI9341_BACKLIGHT_CONTROL_4 0xBB
|
|
#define ILI9341_BACKLIGHT_CONTROL_5 0xBC
|
|
#define ILI9341_BACKLIGHT_CONTROL_6 0xBD
|
|
#define ILI9341_BACKLIGHT_CONTROL_7 0xBE
|
|
#define ILI9341_BACKLIGHT_CONTROL_8 0xBF
|
|
#define ILI9341_POWER1 0xC0
|
|
#define ILI9341_POWER2 0xC1
|
|
#define ILI9341_VCOM1 0xC5
|
|
#define ILI9341_VCOM2 0xC7
|
|
#define ILI9341_POWERA 0xCB
|
|
#define ILI9341_POWERB 0xCF
|
|
#define ILI9341_READ_ID1 0xDA
|
|
#define ILI9341_READ_ID2 0xDB
|
|
#define ILI9341_READ_ID3 0xDC
|
|
#define ILI9341_PGAMMA 0xE0
|
|
#define ILI9341_NGAMMA 0xE1
|
|
#define ILI9341_DTCA 0xE8
|
|
#define ILI9341_DTCB 0xEA
|
|
#define ILI9341_POWER_SEQ 0xED
|
|
#define ILI9341_3GAMMA_EN 0xF2
|
|
#define ILI9341_INTERFACE 0xF6
|
|
#define ILI9341_PRC 0xF7
|
|
|
|
|
|
// Color definitions
|
|
#define ILI9341_BLACK 0x0000 /* 0, 0, 0 */
|
|
#define ILI9341_NAVY 0x000F /* 0, 0, 128 */
|
|
#define ILI9341_DARKGREEN 0x03E0 /* 0, 128, 0 */
|
|
#define ILI9341_DARKCYAN 0x03EF /* 0, 128, 128 */
|
|
#define ILI9341_MAROON 0x7800 /* 128, 0, 0 */
|
|
#define ILI9341_PURPLE 0x780F /* 128, 0, 128 */
|
|
#define ILI9341_OLIVE 0x7BE0 /* 128, 128, 0 */
|
|
#define ILI9341_LIGHTGREY 0xC618 /* 192, 192, 192 */
|
|
#define ILI9341_DARKGREY 0x7BEF /* 128, 128, 128 */
|
|
#define ILI9341_BLUE 0x001F /* 0, 0, 255 */
|
|
#define ILI9341_GREEN 0x07E0 /* 0, 255, 0 */
|
|
#define ILI9341_CYAN 0x07FF /* 0, 255, 255 */
|
|
#define ILI9341_RED 0xF800 /* 255, 0, 0 */
|
|
#define ILI9341_MAGENTA 0xF81F /* 255, 0, 255 */
|
|
#define ILI9341_YELLOW 0xFFE0 /* 255, 255, 0 */
|
|
#define ILI9341_WHITE 0xFFFF /* 255, 255, 255 */
|
|
#define ILI9341_ORANGE 0xFD20 /* 255, 165, 0 */
|
|
#define ILI9341_GREENYELLOW 0xAFE5 /* 173, 255, 47 */
|
|
#define ILI9341_PINK 0xF81F
|
|
|
|
void ili9341_Reset(void);
|
|
void ili9341_writeData(char Data);
|
|
void ili9341_writeCommand(char Command);
|
|
void ili9341_init(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|