/*************************************************************************** * NVK-128SC008F カラーOLEDモジュール駆動用ライブラリーヘッダーファイル * 制御IC:LD50T5128M * * 2017.12.22 N.Ishii *****************************************************************************/ #include "p24FJ64GA002.h" #define CLOCK 16 /// OLED Ports define #define OLED_TRIS TRISB #define OLED_RS LATBbits.LATB6 #define OLED_CS LATBbits.LATB5 #define OLED_WR LATBbits.LATB7 #define OLED_RESET LATAbits.LATA4 #define OLED_RD LATBbits.LATB4 #define OLED_VCC_ON LATAbits.LATA0 /// サイズ指定 #define ENDCOL 128 // X(colum)方向 #define ENDROW 128 // Y(raw)方向 /* // 以下、8x8 font用定義 #define XChar (short)(((ENDCOL)/8)+1) // =17→ X方向の文字数+1 #define YLine (short)(((ENDROW)/8)+1) // =17→ Y方向の文字数+1 */ // 以下、12x12 font用定義 #define XChar (short)((ENDCOL)/12) #define YLine (short)((ENDROW)/14) /******************************************* * 16bit Color Difinition *******************************************/ #define WHITE 0xFFFF #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define BLUE 0x001F #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define BROWN 0x8000 #define ORANGE 0xFC00 #define PERPLE 0x8010 #define COBALT 0x041F /*** 関数プロトタイプ ****/ void OLEDCmdOne(unsigned char cmd); void OLEDDataOne(unsigned char data); void OLEDInit(void); void OLED_Clear(unsigned short color); void OLED_Pixel(short Xpos, short Ypos, unsigned short color); void OLED_Line(short x0, short y0, short x1, short y1, unsigned short color); void OLED_Circle(int x0, int y0, int r, unsigned short color); void OLED_Char(char colum, char line, unsigned char letter, unsigned short color1, unsigned short color2); void OLED_Str(char colum, char line, char *s, unsigned short color1, unsigned short color2); void OLED_Image(char line, const unsigned char *ptr, unsigned short color1, unsigned color2); void delay_us(int usec); void delay_ms(int msec);