铁头山羊学习笔记 4.8 OLED显示器(内含你好世界打不出来解决办法)

4.8 OLED显示器

4.8.1 OLED显示器基本原理

本节课就是用I2C总线向内存写数据,写0灭写1亮很好理解。

4.8.2屏幕初始化

构造一个函数My_SoftwareI2C_Init用来对软I2C初始化。

这部分是对OLED进行初始化。

4.8.3基本概念和操作

画笔与画刷

屏幕坐标系

4.8.4文字相关操作

1.打印字符串

2.设置字体

在ttfttc中设置想要的字体

在my_lib font中的.map文件设置想打的文字

在爱心程序中,输入对应的名称转成C语言,将hyjk16.h复制下来并包含头文件。

值得注意的是我一开始编译方式是GB2312,所以你好世界打不出来,改成UTF-8把你要打的文字写进去就可以了,上图我是又把编译方式改回了GB2312。

3.格式化打印当前日期

首先设置默认字体,然后设置光标位置,最后打印出来。(第三行老师一开始少了3个d

4.设置文本区域

4.8.5绘图相关操作

1.画线

2.画圆和矩形

3.绘制位图

想要绘制这个位图,首先我们得去​​​​​​​image2cpp网站

然后选择的图片尽量小一点 

这是我想要打的图片,代码也会附着。

5.动画(勾选Flip image中的)

附代码:

#include "stm32f10x.h"
#include "si2c.h"
#include "oled.h"
#include "hyjk15.h"
#include "delay.h"

SI2C_TypeDef si2c;    //取名为si2c结构体
OLED_TypeDef oled;		//所使用OLED名称
uint8_t bitmap[] = {// '323c8759de1a30fe91cbde20d63f6cbb', 128x64px
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfc, 0x03, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x01, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, 
0xff, 0xff, 0xff, 0xe0, 0x03, 0xff, 0xff, 0xff, 0xf0, 0xfc, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 
0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0xe0, 0x01, 0xff, 0xff, 0xfc, 0x03, 0xff, 
0xff, 0xff, 0xfc, 0x01, 0xff, 0xbf, 0xff, 0xff, 0x81, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, 0xff, 
0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x3f, 
0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf8, 0x0f, 
0xff, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x3f, 0xfe, 0x03, 
0xff, 0xf8, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x01, 0xff, 0x80, 0x7c, 0x0f, 0xff, 0x01, 
0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 0xe0, 0x1e, 0x07, 0xff, 0x80, 
0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0x01, 0xff, 0xe0, 
0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xfc, 0x07, 0xc0, 0xff, 0xf0, 
0xfc, 0x07, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xfc, 0x07, 0xe0, 0x7f, 0xf8, 
0xf8, 0x0f, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, 0xfc, 0x03, 0xf0, 0x3f, 0xfc, 
0xf0, 0x3f, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xf8, 0x03, 0xf8, 0x1f, 0xfe, 
0xc0, 0x7f, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xe0, 0x3f, 0xe0, 0x01, 0xfc, 0x0f, 0xff, 
0x80, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xfc, 0x0f, 0x81, 0x01, 0xfe, 0x07, 0xff, 
0x01, 0x81, 0xff, 0x03, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0x07, 0x07, 0x80, 0x3f, 0x03, 0xff, 
0x03, 0x03, 0xff, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0x80, 0x1f, 0xc0, 0x00, 0x01, 0xff, 
0x07, 0x03, 0xfe, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xe0, 0x1f, 0xe0, 0x00, 0x00, 0xff, 
0x02, 0x07, 0xfe, 0x0f, 0xff, 0xff, 0xe0, 0xf8, 0x3f, 0x80, 0x60, 0x3f, 0xff, 0x00, 0x00, 0xff, 
0x00, 0x07, 0xfe, 0x0f, 0xff, 0xc7, 0xe0, 0x00, 0x3f, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 
0xe0, 0x07, 0xfe, 0x07, 0xff, 0x81, 0xf0, 0x00, 0x3f, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x40, 0x3f, 
0xff, 0x07, 0xfe, 0x07, 0xff, 0x83, 0x80, 0x00, 0x1f, 0x00, 0x70, 0x7f, 0xfe, 0x00, 0x40, 0x1f, 
0xff, 0x0f, 0xfe, 0x0f, 0xff, 0x00, 0x00, 0x70, 0x7f, 0xe1, 0xe0, 0x3f, 0xff, 0x81, 0xc0, 0x00, 
0xff, 0x0f, 0xfe, 0x07, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0x03, 0x00, 
0xff, 0x0f, 0xfc, 0x07, 0xff, 0x00, 0x78, 0x1f, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xfc, 0x07, 0x80, 
0xff, 0x0f, 0x00, 0x03, 0xff, 0x00, 0x7e, 0x03, 0xff, 0xfe, 0x03, 0x03, 0xff, 0xf0, 0x3e, 0x00, 
0xff, 0x00, 0x00, 0x03, 0xff, 0x00, 0x3f, 0xc0, 0x7f, 0xe0, 0x00, 0x00, 0x1f, 0x00, 0xf0, 0x00, 
0xff, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x07, 0x80, 0x00, 
0xff, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 
0xff, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xc1, 0xfe, 0x00, 0x00, 
0xf0, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xf0, 0xfe, 0x00, 0x00, 
0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xc0, 0x7e, 0x00, 0x00, 
0x00, 0x70, 0x03, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x0f, 0xff, 0xfc, 0x00, 0xfe, 0x00, 0x00, 
0x3f, 0xe0, 0x03, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 
0xff, 0xfe, 0x01, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xc1, 0xfe, 0x00, 0x03, 
0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x01, 0xff, 0xff, 0x83, 0xff, 0x00, 0x03, 
0x00, 0x00, 0x00, 0x3f, 0x00, 0x01, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xfc, 0x0f, 0xff, 0x80, 0x0f, 
0x00, 0x00, 0x00, 0x1f, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x0f, 
0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xe0, 0x3f, 
0xf0, 0xff, 0x80, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x7f, 
0x7f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x07, 
0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 
0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
0xff, 0xff, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xc3, 
0xff, 0xfd, 0xc3, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc3, 
0xff, 0xff, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x07, 
0x07, 0xe7, 0xc0, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x07, 
0x00, 0x3c, 0x00, 0x00, 0x00, 0x7f, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0xfe, 0x00, 0x03, 
0x00, 0x0f, 0x80, 0x00, 0x00, 0x1f, 0x80, 0x1f, 0xe0, 0x00, 0x1f, 0xe0, 0x01, 0xf8, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x0f, 0xff, 0x80, 0x00, 0x01, 0xf0, 0x00, 0x00};

const uint8_t bitmapFlip[] = {// '323c8759de1a30fe91cbde20d63f6cbb', 128x64px
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xc0, 0x3f, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xfc, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x3f, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 
0xff, 0xc0, 0x3f, 0xff, 0xff, 0x80, 0x07, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xff, 
0xff, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x81, 0xff, 0xff, 0xfd, 0xff, 0x80, 0x3f, 0xff, 0xff, 
0xfc, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 
0xf0, 0x1f, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x01, 0xff, 0xff, 
0xc0, 0x7f, 0xfc, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xff, 
0x80, 0xff, 0xf0, 0x3e, 0x01, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 
0x01, 0xff, 0xe0, 0x78, 0x07, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 
0x07, 0xff, 0x80, 0xf8, 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 
0x0f, 0xff, 0x03, 0xe0, 0x3f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 
0x1f, 0xfe, 0x07, 0xe0, 0x3f, 0xff, 0xff, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x07, 0xff, 0xe0, 0x3f, 
0x3f, 0xfc, 0x0f, 0xc0, 0x3f, 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x03, 0xff, 0xf0, 0x1f, 
0x7f, 0xf8, 0x1f, 0xc0, 0x1f, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xfc, 0x0f, 
0xff, 0xf0, 0x3f, 0x80, 0x07, 0xfc, 0x07, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xfe, 0x03, 
0xff, 0xe0, 0x7f, 0x80, 0x81, 0xf0, 0x3f, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x01, 
0xff, 0xc0, 0xfc, 0x01, 0xe0, 0xe0, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0xff, 0x81, 0x80, 
0xff, 0x80, 0x00, 0x03, 0xf8, 0x01, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xc0, 0xc0, 
0xff, 0x00, 0x00, 0x07, 0xf8, 0x07, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xc0, 0xe0, 
0xff, 0x00, 0x00, 0xff, 0xfc, 0x06, 0x01, 0xfc, 0x1f, 0x07, 0xff, 0xff, 0xf0, 0x7f, 0xe0, 0x40, 
0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0xfc, 0x00, 0x07, 0xe3, 0xff, 0xf0, 0x7f, 0xe0, 0x00, 
0xfc, 0x02, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0xfc, 0x00, 0x0f, 0x81, 0xff, 0xe0, 0x7f, 0xe0, 0x07, 
0xf8, 0x02, 0x00, 0x7f, 0xfe, 0x0e, 0x00, 0xf8, 0x00, 0x01, 0xc1, 0xff, 0xe0, 0x7f, 0xe0, 0xff, 
0x00, 0x03, 0x81, 0xff, 0xfc, 0x07, 0x87, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xf0, 0x7f, 0xf0, 0xff, 
0x00, 0xc0, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xe0, 0x7f, 0xf0, 0xff, 
0x01, 0xe0, 0x3f, 0xff, 0xf0, 0x01, 0xff, 0xff, 0xf8, 0x1e, 0x00, 0xff, 0xe0, 0x3f, 0xf0, 0xff, 
0x00, 0x7c, 0x0f, 0xff, 0xc0, 0xc0, 0x7f, 0xff, 0xc0, 0x7e, 0x00, 0xff, 0xc0, 0x00, 0xf0, 0xff, 
0x00, 0x0f, 0x00, 0xf8, 0x00, 0x00, 0x07, 0xfe, 0x03, 0xfc, 0x00, 0xff, 0xc0, 0x00, 0x00, 0xff, 
0x00, 0x01, 0xe0, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 
0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xff, 
0x00, 0x00, 0x7f, 0x83, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0xff, 
0x00, 0x00, 0x7f, 0x0f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xf0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x0f, 
0x00, 0x00, 0x7e, 0x03, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xf0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 
0x00, 0x00, 0x7f, 0x00, 0x3f, 0xff, 0xf0, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xc0, 0x0e, 0x00, 
0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xc0, 0x07, 0xfc, 
0xc0, 0x00, 0x7f, 0x83, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0x80, 0x7f, 0xff, 
0xc0, 0x00, 0xff, 0xc1, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 
0xf0, 0x01, 0xff, 0xf0, 0x3f, 0xfc, 0x03, 0xff, 0xff, 0xff, 0x80, 0x00, 0xfc, 0x00, 0x00, 0x00, 
0xf0, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0f, 0xf8, 0x00, 0x00, 0x00, 
0xfc, 0x07, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 
0xfe, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x01, 0xff, 0x0f, 
0xe0, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 
0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 
0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 
0xc3, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0xff, 0xff, 
0xc3, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc3, 0xbf, 0xff, 
0xe0, 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x00, 0x00, 0xff, 0xff, 
0xe0, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x03, 0xe7, 0xe0, 
0xc0, 0x00, 0x7f, 0x0f, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xf0, 0xfe, 0x00, 0x00, 0x00, 0x3c, 0x00, 
0x80, 0x00, 0x1f, 0x80, 0x07, 0xf8, 0x00, 0x07, 0xf8, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf0, 0x00, 
0x00, 0x00, 0x0f, 0x80, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00};

void My_SoftwareI2C_Init(void);
void My_OLEDScreen_Init(void);
int i2c_write_bytes(uint8_t addr, const uint8_t *pdata, uint16_t size);


int main(void)
{
	My_SoftwareI2C_Init();   //对软I2C初始化
	My_OLEDScreen_Init();    //对OLED初始化
	
//	//#1.打印Hello world
//	OLED_SetPen(&oled,PEN_COLOR_WHITE,1);    //设置白画笔
//	OLED_SetBrush(&oled,PEN_COLOR_TRANSPARENT);  //透明画刷
//	OLED_SetCursor(&oled,24,50);             //设置光标
//	OLED_DrawString(&oled,"S Y N");    //只是在单片机内存中绘制出来了
//	
//	//#2.打印你好世界
//	OLED_SetFont(&oled,&hyjk15);             //设置字体
//	
//	int16_t x= (OLED_GetScreenWidth(&oled) - OLED_GetStrWidth(&oled,"鎴戠埍浣?))/2; //让字居中 
//	
//	OLED_SetCursor(&oled,x,28);							//设置光标
//	OLED_DrawString(&oled,"鎴戠埍浣?);
//	
//	
//	//#3.格式化打印当前时期
//	OLED_SetFont(&oled,&default_font);
//	OLED_SetCursor(&oled,58,64);
//	OLED_Printf(&oled,"%04d/%02d/%02d",2025,3,21);
	
//	//#4. 设置文本区域
//	OLED_StartTextRegion(&oled,0,0,128,64);
//	OLED_DrawString(&oled,"dont waste your time plus.\r\n");
//	OLED_DrawString(&oled,"chun tian shi ta zui ai de ji jie.\r\n");
//	OLED_DrawString(&oled,"m x c .\r\n");
//	OLED_DrawString(&oled,"2000 7 21 .\r\n");

//		//#5. 画点
//		OLED_SetPen(&oled,PEN_COLOR_WHITE,3);
//		OLED_SetCursor(&oled,29,32);
//		OLED_DrawDot(&oled);
//		
//		for(uint8_t i=1;i<8;i++)
//		{
//			OLED_MoveCursorX(&oled,10);
//			OLED_DrawDot(&oled);
//		}

//		//#6. 画线
//		OLED_SetCursor(&oled,0,0);
//		OLED_DrawLine(&oled,127,63);
//		
//		OLED_SetCursor(&oled,0,63);
//		OLED_DrawLine(&oled,127,0);
//		
//		OLED_SetCursor(&oled,84,22);
//		OLED_LineTo(&oled,44,22);
//		OLED_LineTo(&oled,44,42);
//		OLED_LineTo(&oled,84,42);

//		//#7.画圆画矩形
//		OLED_SetCursor(&oled,20,20);
//		OLED_SetPen(&oled,PEN_COLOR_WHITE,1);
//		OLED_SetBrush(&oled,BRUSH_TRANSPARENT);
//		OLED_DrawRect(&oled,40,20);
//		
//		//圆
//		OLED_SetCursor(&oled,65,30);
//		OLED_DrawCircle(&oled,5);
//		
//		//矩形2
//		OLED_SetCursor(&oled,70,20);
//		OLED_SetPen(&oled,PEN_COLOR_WHITE,1);
//		OLED_SetBrush(&oled,BRUSH_WHITE);
//		OLED_DrawRect(&oled,40,20);

//		//#8.绘制位图
//		OLED_SetCursor(&oled,0,0);
//		OLED_DrawBitmap(&oled,128,64,bitmap);

//		OLED_SendBuffer(&oled);										//让其在屏幕上显现出来
	

	while(1)
	{
		OLED_Clear(&oled);
		OLED_SetCursor(&oled,0,0);
		OLED_DrawBitmap(&oled,128,64,bitmap);
		OLED_SendBuffer(&oled);
		
		Delay(500);
		
		
		OLED_Clear(&oled);
		OLED_SetCursor(&oled,0,0);
		OLED_DrawBitmap(&oled,128,64,bitmapFlip);
		OLED_SendBuffer(&oled);
		
		Delay(500);
	}
}

void My_SoftwareI2C_Init(void)
{
	si2c.SCL_GPIOx=GPIOB;
	si2c.SCL_GPIO_Pin=GPIO_Pin_6;
	si2c.SDA_GPIOx=GPIOB;
	si2c.SDA_GPIO_Pin=GPIO_Pin_7;
	
	My_SI2C_Init(&si2c);
}

int i2c_write_bytes(uint8_t addr, const uint8_t *pdata, uint16_t size)
{
	return My_SI2C_SendBytes(&si2c,addr,pdata,size);
}

void My_OLEDScreen_Init(void)
{
	OLED_InitTypeDef OLED_InitStruct;
	
	OLED_InitStruct.i2c_write_cb=i2c_write_bytes;
	 
	OLED_Init(&oled,&OLED_InitStruct);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值