gd32vw553点亮oled屏幕

分享作者:wx17402005229145
评测品牌:萤火工场
评测型号:GD32VW553-IOT
发布时间:2025-03-24 14:58:44
0
概要
gd32vw553点亮oled屏幕
开源口碑分享内容

通过i2c协议点亮ssd1306

/*
 * oled.h
 *
 *  Created on: 2025年3月19日
 *      Author: youzaitingge
 */

#ifndef INC_OLED_H_
#define INC_OLED_H_

#include "gd32vw55x.h"


#define SSD1306_WIDTH  128
#define SSD1306_HEIGHT 64
#define SSD1306_I2C_ADDR  0x78  // SSD1306 I2C 地址

// **I2C 软件引脚定义**
#define OLED_I2C_SCL_PORT  GPIOA
#define OLED_I2C_SCL_PIN   GPIO_PIN_0
#define OLED_I2C_SDA_PORT  GPIOA
#define OLED_I2C_SDA_PIN   GPIO_PIN_1

// **GPIO 控制宏**
#define I2C_SCL_HIGH()  gpio_bit_set(OLED_I2C_SCL_PORT, OLED_I2C_SCL_PIN)
#define I2C_SCL_LOW()   gpio_bit_reset(OLED_I2C_SCL_PORT, OLED_I2C_SCL_PIN)
#define I2C_SDA_HIGH()  gpio_bit_set(OLED_I2C_SDA_PORT, OLED_I2C_SDA_PIN)
#define I2C_SDA_LOW()   gpio_bit_reset(OLED_I2C_SDA_PORT, OLED_I2C_SDA_PIN)
#define I2C_SDA_READ()  gpio_input_bit_get(OLED_I2C_SDA_PORT, OLED_I2C_SDA_PIN)

// **初始化**
void ssd1306_init(void);
void ssd1306_clear(void);
void ssd1306_display_on(void);
void ssd1306_display_off(void);
void ssd1306_update_screen(void);

// **绘图**
void ssd1306_draw_pixel(uint8_t x, uint8_t y, uint8_t color);
void ssd1306_draw_char(uint8_t x, uint8_t y, char ch);
void ssd1306_draw_string(uint8_t x, uint8_t y, const char* str);


#endif /* INC_OLED_H_ */


全部评论
暂无评论
0/144