## OLED(OLED)
驱动库使用通用性更好的软件(模拟)IIC的方式驱动OLED,但是亚博智能STM32平衡小车V2在硬件电路上是支持硬件IIC的
本章节内容仅介绍OLED相关方法,不介绍软件IIC的实现
| 参数 | 类型 | 注释 |
|---|---|---|
| str | char * | 想要OLED显示的字符串 |
| x | uint8_t | 绘制字符串x方向上的起始坐标 |
| y | uint8_t | 绘制字符串y方向上的起始坐标 |
| clear | bool | 是否清空屏幕 |
| refresh | uint8_t | 是否立即屏幕 |
| 绘制完成后需要调用刷新方法才能显示 | ||
| 参数 | 类型 | 注释 |
|---|---|---|
| str | char * | 想要OLED显示的字符串 |
| line | uint8_t | 在第几行显示字符串 |
| clear | bool | 是否清空屏幕 |
| refresh | uint8_t | 是否立即屏幕 |
| 默认行高为10 | ||
下述方法为驱动芯片SSD1306提供,可以进行更细致的绘制操作
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| Color | SSD1306_COLOR_t | 填充颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x | uint16_t | x坐标 |
| y | uint16_t | y坐标 |
| color | SSD1306_COLOR_t | 像素颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x | uint16_t | x坐标 |
| y | uint16_t | y坐标 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| ch | char | 要绘制的字符 |
| Font | FontDef_t* | 使用的字体结构体 |
| color | SSD1306_COLOR_t | 字符颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | char |
| 参数 | 类型 | 注释 |
|---|---|---|
| str | char* | 要绘制的字符串 |
| Font | FontDef_t* | 使用的字体结构体 |
| color | SSD1306_COLOR_t | 字符串颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | char |
| 参数 | 类型 | 注释 |
|---|---|---|
| x0 | uint16_t | 起始点x坐标 |
| y0 | uint16_t | 起始点y坐标 |
| x1 | uint16_t | 结束点x坐标 |
| y1 | uint16_t | 结束点y坐标 |
| c | SSD1306_COLOR_t | 线条颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x | uint16_t | 左上角x坐标 |
| y | uint16_t | 左上角y坐标 |
| w | uint16_t | 矩形宽度 |
| h | uint16_t | 矩形高度 |
| c | SSD1306_COLOR_t | 矩形颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x | uint16_t | 左上角x坐标 |
| y | uint16_t | 左上角y坐标 |
| w | uint16_t | 矩形宽度 |
| h | uint16_t | 矩形高度 |
| c | SSD1306_COLOR_t | 矩形颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x1 | uint16_t | 第一点x坐标 |
| y1 | uint16_t | 第一点y坐标 |
| x2 | uint16_t | 第二点x坐标 |
| y2 | uint16_t | 第二点y坐标 |
| x3 | uint16_t | 第三点x坐标 |
| y3 | uint16_t | 第三点y坐标 |
| color | SSD1306_COLOR_t | 三角形颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x0 | int16_t | 圆心x坐标 |
| y0 | int16_t | 圆心y坐标 |
| r | int16_t | 半径 |
| c | SSD1306_COLOR_t | 圆形颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| x0 | int16_t | 圆心x坐标 |
| y0 | int16_t | 圆心y坐标 |
| r | int16_t | 半径 |
| c | SSD1306_COLOR_t | 填充圆形颜色 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| address | uint8_t | I2C设备地址 |
| reg | uint8_t | 寄存器地址 |
| data | uint8_t | 要写入的数据 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
| 参数 | 类型 | 注释 |
|---|---|---|
| address | uint8_t | I2C设备地址 |
| reg | uint8_t | 寄存器地址 |
| data | uint8_t* | 指向数据的指针 |
| count | uint16_t | 要写入的数据数量 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
#include "bsp_oled_i2c.h"
#include "bsp_oled.h"
int main() {
OLED_I2C_Init();
OLED_Clear();
while(1) {
OLED_DrawLine("Hello Yahboom!",1, 0, true, true);
}
return 0;
}