/*********************************** * ILI9341 display driver header file * 2023/7/21 N.Ishii ************************************/ #include "p24FJ64GA002.h" /// クロック周波数定義 --------------------- #define CLOCK 16 //#define CLOCK 4 /// G.LCD用SPIのマクロの定義 --------------- #define ILI9341_SPI_Write(x) SPI2_transfer(x) // #define ILI9341_SPI_Read(x) SPI2_transfer(x) /// G.LCD用SPI関連ポートのマクロ定義 ------ #define TFT_CS PORTBbits.RB12 #define TFT_RST PORTBbits.RB11 #define TFT_DC PORTBbits.RB10 #define TFT_CS_DIR TRISBbits.TRISB12 #define TFT_RST_DIR TRISBbits.TRISB11 #define TFT_DC_DIR TRISBbits.TRISB10 // Color definitions #define ILI9341_BLACK 0x0000 ///< 0, 0, 0 #define ILI9341_NAVY 0x000F ///< 0, 0, 123 #define ILI9341_DARKGREEN 0x03E0 ///< 0, 125, 0 #define ILI9341_DARKCYAN 0x03EF ///< 0, 125, 123 #define ILI9341_MAROON 0x7800 ///< 123, 0, 0 #define ILI9341_PURPLE 0x780F ///< 123, 0, 123 #define ILI9341_OLIVE 0x7BE0 ///< 123, 125, 0 #define ILI9341_LIGHTGREY 0xC618 ///< 198, 195, 198 #define ILI9341_DARKGREY 0x7BEF ///< 123, 125, 123 #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, 41 #define ILI9341_PINK 0xFC18 ///< 255, 130, 198 /*** 関数プロトタイプ ****/ void tft_begin(void); // void drawPixel(uint16_t x, uint16_t y, uint16_t color); // void drawHLine(uint16_t x, uint16_t y, uint16_t w, uint16_t color); // void drawVLine(uint16_t x, uint16_t y, uint16_t h, uint16_t color); void writeCommand(unsigned char cmd); void writeData(unsigned char dat); //void setAddrWindow(void); void setAddrWindow(int x1, int y1, int w, int h); // 231008 void fillRect(int x, int y, int w, int h, unsigned int color); void drawPixel(int x, int y, unsigned int color); // 231009 void drawLine(int x0, int y0, int x1, int y1, unsigned short color); // 231009 void drawCircle(int x0, int y0, int r, unsigned int color); // 231009 void drawChar(char colum, char line, unsigned char letter, unsigned int color1, unsigned int color2); // 231010 void drawStr(char colum, char line, char *s, unsigned int color1, unsigned int color2); // 231010 void drawImage(void); // 231012 // void fillScreen(uint16_t color); // void setRotation(uint8_t m); // void invertDisplay(bool i); // void pushColor(uint16_t color); // void tft_scrollTo(uint16_t y); void delay_us(int usec); void delay_ms(int msec);