2025-03-18 19:34:19 +08:00
|
|
|
#ifndef __OLED12864_DRV_H
|
|
|
|
#define __OLED12864_DRV_H
|
|
|
|
|
|
|
|
#include "delay.h"
|
|
|
|
|
|
|
|
#include "config.h"
|
2025-03-18 22:49:46 +08:00
|
|
|
#include "iic.h"
|
2025-03-18 19:34:19 +08:00
|
|
|
|
|
|
|
#ifndef ENABLE
|
2025-03-18 22:49:46 +08:00
|
|
|
#define ENABLE 1
|
2025-03-18 19:34:19 +08:00
|
|
|
#endif /* ENABLE */
|
|
|
|
|
|
|
|
#ifndef DISABLE
|
2025-03-18 22:49:46 +08:00
|
|
|
#define DISABLE 0
|
2025-03-18 19:34:19 +08:00
|
|
|
#endif /* DISABLE */
|
|
|
|
|
|
|
|
#ifndef HIGH
|
2025-03-18 22:49:46 +08:00
|
|
|
#define HIGH 1
|
2025-03-18 19:34:19 +08:00
|
|
|
#endif /* HIGH */
|
|
|
|
|
|
|
|
#ifndef LOW
|
2025-03-18 22:49:46 +08:00
|
|
|
#define LOW 0
|
2025-03-18 19:34:19 +08:00
|
|
|
#endif /* LOW */
|
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
//
|
|
|
|
#define OLED_FONT_EIGHT 8
|
|
|
|
#define OLED_FONT_SIXTEEN 16
|
2025-03-18 19:34:19 +08:00
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
#define OLED_GRAM_MAX 30
|
|
|
|
#define OLED_MAX_COLUMN 128
|
|
|
|
#define OLED_MAX_ROW 64
|
2025-03-18 19:34:19 +08:00
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
#define X_WIDTH 128
|
|
|
|
#define Y_WIDTH 64
|
2025-03-18 19:34:19 +08:00
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
#define OLED_LEFT_ROLL 0x27
|
|
|
|
#define OLED_RIGHT_ROLL 0x26
|
2025-03-18 19:34:19 +08:00
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
#define OLED_CLS 0x00
|
|
|
|
#define OLED_SHOW 0xFF
|
2025-03-18 19:34:19 +08:00
|
|
|
|
|
|
|
// extern uint8_t g_OLED_Gram[OLED_GRAM_MAX][16];
|
|
|
|
// extern uint8_t g_OLED_Roll_Page;
|
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
void OLED_Write_Cmd (uint8_t Cmd);
|
|
|
|
void OLED_Write_Data (uint8_t Data, uint8_t Inverse);
|
|
|
|
void OLED_Fill (uint8_t Mode);
|
|
|
|
void OLED_Row_Clear (uint8_t Row, uint8_t Amount, uint8_t Mode);
|
|
|
|
void OLED_Coord (uint8_t X, uint8_t Y);
|
|
|
|
void OLED_ShowRoll (uint8_t Y, uint8_t Line, uint8_t Mode);
|
|
|
|
void OLED_ShowChar (uint8_t X, uint8_t Y, uint8_t Char, uint8_t Size,
|
|
|
|
uint8_t Inverse);
|
|
|
|
void OLED_ShowString (uint8_t X, uint8_t Y, const uint8_t *pChar, uint16_t Len,
|
|
|
|
uint8_t Size, uint8_t Inverse);
|
|
|
|
void OLED_ShowPrintf (uint8_t X, uint8_t Y, const uint8_t *pChar, uint8_t Size,
|
|
|
|
uint8_t Align, uint8_t Inverse);
|
|
|
|
uint32_t OLED_Power (uint8_t M, uint8_t N);
|
|
|
|
void OLED_ShowNum (uint8_t X, uint8_t Y, uint32_t Num, uint8_t Len,
|
|
|
|
uint8_t Size, uint8_t Prefix, uint8_t Inverse);
|
|
|
|
void OLED_ShowHex (uint8_t X, uint8_t Y, uint32_t Num, uint8_t Size,
|
|
|
|
uint8_t Prefix, uint8_t Inverse);
|
2025-03-18 19:34:19 +08:00
|
|
|
|
|
|
|
#if 1
|
2025-03-18 22:49:46 +08:00
|
|
|
void OLED_ShowLanguage (uint8_t X, uint8_t Y, const uint8_t *pChar,
|
|
|
|
uint16_t Len, uint8_t Inverse);
|
2025-03-18 19:34:19 +08:00
|
|
|
#else
|
2025-03-18 22:49:46 +08:00
|
|
|
void OLED_ShowLanguage (uint8_t X, uint8_t Y, const uint8_t (*pArray)[16],
|
|
|
|
uint16_t Len, uint8_t Inverse);
|
2025-03-18 19:34:19 +08:00
|
|
|
#endif
|
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
void OLED_Display_On (void);
|
|
|
|
void OLED_Display_Off (void);
|
|
|
|
void OLED_Init (void);
|
2025-03-18 19:34:19 +08:00
|
|
|
|
2025-03-18 22:49:46 +08:00
|
|
|
void OLED_ShowChinese (uint8_t X, uint8_t Y, const uint8_t *pArray,
|
|
|
|
uint8_t Inverse);
|
|
|
|
void OLED_Draw_Font (uint8_t X, uint8_t Y, const uint8_t *pArray,
|
|
|
|
uint8_t Inverse);
|
2025-03-18 19:34:19 +08:00
|
|
|
|
|
|
|
#endif /* __OLED12864_DRV_H */
|
|
|
|
|
|
|
|
/*---------------------------- END OF FILE ----------------------------*/
|