Hi everyone, I currently need a driver for my ili9327 but with my limited knowledge I cannot create a separate driver for ili9327 so can you tell me what its hex code is?
/*
* Driver cho ILI9327
* Dựa trên mã nguồn từ:
* https://github.com/nopnop2002/esp-idf-parallel-tft
*/
#ifndef _ARDUINO_ILI9327_H_
#define _ARDUINO_ILI9327_H_
#include "../Arduino_GFX.h"
#include "../Arduino_TFT.h"
#define ILI9327_TFTWIDTH 320 ///< Chiều rộng tối đa của ILI9327
#define ILI9327_TFTHEIGHT 480 ///< Chiều cao tối đa của ILI9327
#define ILI9327_RST_DELAY 150 ///< Thời gian chờ sau khi reset (ms)
#define ILI9327_SLPIN_DELAY 150 ///< Thời gian chờ sau khi vào chế độ ngủ (ms)
#define ILI9327_SLPOUT_DELAY 150 ///< Thời gian chờ sau khi thoát chế độ ngủ (ms)
// Các lệnh cơ bản cho ILI9327
#define ILI9327_NOP 0x00
#define ILI9327_SWRESET 0x01
#define ILI9327_SLPIN 0x10
#define ILI9327_SLPOUT 0x11
#define ILI9327_INVOFF 0x20
#define ILI9327_INVON 0x21
#define ILI9327_DISPOFF 0x28
#define ILI9327_DISPON 0x29
#define ILI9327_CASET 0x2A
#define ILI9327_PASET 0x2B
#define ILI9327_RAMWR 0x2C
#define ILI9327_RAMRD 0x2E
#define ILI9327_MADCTL 0x36
#define ILI9327_MADCTL_MY 0x80
#define ILI9327_MADCTL_MX 0x40
#define ILI9327_MADCTL_MV 0x20
#define ILI9327_MADCTL_ML 0x10
#define ILI9327_MADCTL_RGB 0x00
#define ILI9327_MADCTL_BGR 0x08
#define ILI9327_MADCTL_MH 0x04
#define ILI9327_MADCTL_SS 0x02
#define ILI9327_MADCTL_GS 0x01
static const uint8_t ili9327_init_operations[] = {
BEGIN_WRITE,
// Thiết lập các thông số gamma
WRITE_COMMAND_8, 0xE0,
WRITE_BYTES, 15,
0x00, 0x03, 0x09, 0x08,
0x16, 0x0A, 0x3F, 0x78,
0x4C, 0x09, 0x0A, 0x08,
0x16, 0x1A, 0x0F,
WRITE_COMMAND_8, 0xE1,
WRITE_BYTES, 15,
0x00, 0x16, 0x19, 0x03,
0x0F, 0x05, 0x32, 0x45,
0x46, 0x04, 0x0E, 0x0D,
0x35, 0x37, 0x0F,
// Thiết lập điều khiển nguồn
WRITE_C8_D16, 0xC0,
0x17,
0x15,
WRITE_C8_D8, 0xC1,
0x41,
WRITE_COMMAND_8, 0xC5,
WRITE_BYTES, 3,
0x00,
0x12,
0x80,
// Thiết lập chế độ giao diện
WRITE_C8_D8, 0xB0, 0x80,
WRITE_C8_D8, 0xB1, 0xA0,
WRITE_C8_D8, 0xB4, 0x02,
// Thiết lập chức năng hiển thị
WRITE_C8_D16, 0xB6,
0x02,
0x02,
WRITE_C8_D8, 0xE9, 0x00,
// Điều chỉnh điều khiển
WRITE_COMMAND_8, 0xF7,
WRITE_BYTES, 4, 0xA9, 0x51, 0x2C, 0x82,
// Thoát chế độ ngủ
WRITE_COMMAND_8, ILI9327_SLPOUT,
END_WRITE,
DELAY, ILI9327_SLPOUT_DELAY,
BEGIN_WRITE,
// Bật hiển thị
WRITE_COMMAND_8, ILI9327_DISPON,
END_WRITE
};
class Arduino_ILI9327 : public Arduino_TFT
{
public:
Arduino_ILI9327(Arduino_DataBus *bus, int8_t rst = GFX_NOT_DEFINED, uint8_t r = 0, bool ips = false);
bool begin(int32_t speed = GFX_NOT_DEFINED) override;
void setRotation(uint8_t r) override;
void writeAddrWindow(int16_t x, int16_t y, uint16_t w, uint16_t h) override;
void invertDisplay(bool) override;
void displayOn() override;
void displayOff() override;
protected:
void tftInit() override;
private:
};
#endif // _ARDUINO_ILI9327_H_
