Files
STC32G_Power_Monitor/Header/oled_iic_SSD1306.h
2025-09-01 22:43:03 +08:00

65 lines
1.6 KiB
C

#ifndef __OLED_IIC_SSD1306_H__
#define __OLED_IIC_SSD1306_H__
#include "common.h"
#define OLED_USE_SOFT_IIC 1
#define OLED_ADDR 0x3C
#if (1==OLED_USE_SOFT_IIC)
#define OLED_SDA_PIN P24
#define OLED_SCL_PIN P25
#define OLED_SOFT_WAIT_TIME 0
#define OLED_SDA_LEVEL(x) (OLED_SDA_PIN = x)
#define OLED_SCL_LEVEL(x) (OLED_SCL_PIN = x)
#define OLED_SDA_READ() (OLED_SDA_PIN)
#else
#define OLED_IIC IIC_2
#define OLED_HARD_WAIT_TIME 0
#endif
//定义显示方向
//0 横屏模式
//1 横屏模式 旋转180
#define OLED_DISPLAY_DIR 0
#if (0==OLED_DISPLAY_DIR || 1==OLED_DISPLAY_DIR)
#define X_WIDTH 128
#define Y_WIDTH 64
#else
#error "OLED_DISPLAY_DIR 定义错误"
#endif
#define Brightness 0x7f //设置OLED亮度 越大越亮 范围0-0XFF
#define XLevelL 0x00
#define XLevelH 0x10
#define XLevel ((XLevelH&0x0F)*16+XLevelL)
#define Max_Column 128
#define Max_Row 64
void oled_init(void);
void oled_fill(uint8 dat);
void oled_set_pos(uint8 x, uint8 y);
void oled_putpixel(uint8 x,uint8 y,uint8 data1);
void oled_clrpixel(uint8 x,uint8 y);
void oled_p6x8str(uint8 x,uint8 y,const int8 ch[]);
void oled_uint16(uint8 x, uint8 y, uint16 num);
void oled_int16(uint8 x, uint8 y, int16 num);
void oled_printf_int32(uint16 x,uint16 y,int32 dat,uint8 num);
void oled_printf_float(uint16 x,uint16 y,double dat,uint8 num,uint8 pointnum);
void oled_dis_bmp(uint16 high, uint16 width, uint8 *p,uint8 value);
void oled_print_chinese(uint8 x, uint8 y, uint8 size, const uint8 *p, uint8 len);
#endif