4引脚0.96寸OLED模块使用:(需使用江协科技提供代码)
(主要为模块的使用,较少涉及底层)
代码使用UTF-8
加入所需文件:
可外部调用函数:
初始化函数
void OLED_Init(void);
更新函数:
在所有控制函数写完后要加上/*更新函数*/来写入数据使OLED真正显示图像。
OLED_Update
全部更新:使OLED全屏幕的显示更新
OLED_UpdateArea
部分更新:使OLED屏幕的指定部分更新--x:起始行 y:起始列 With:宽度 Heigh:高度 调用后仅更新x,y起始,宽with高heigh大小的矩形OLED显示屏像素点。
/*更新函数*/
void OLED_Update(void);
void OLED_UpdateArea(uint8_t X, uint8_t Y, uint8_t Width, uint8_t Height);
控制函数
OLED_Clear
调用后清除OLED全屏幕显示。
OLED_ClearArea
同理部分更新函数。
OLED_Reserse
调用后全屏幕反色。
OLED_ReserseArea
同上理。
/*显存控制函数*/
void OLED_Clear(void);
void OLED_ClearArea(uint8_t X, uint8_t Y, uint8_t Width, uint8_t Height);
void OLED_Reverse(void);
void OLED_ReverseArea(uint8_t X, uint8_t Y, uint8_t Width, uint8_t Height);
显示函数(部分)
OLED_ShowChines
显示OLED_Data中定义过的文字:
定义文字
使用取模软件:
点击设置选项
更改设置
在模式下选择字符模式(截不了图)
生成字模
复制后按格式写入OLED_Data.c文件中
后即可使用。
未定义过的汉字会显示默认的符号。
OLED_ShowImage
显示图像
显示OLED_Data中定义过的图像:
定义图像
处理图像(多次调整到合适图像)
图像大小
再次调整使图像更加合适
保存为bmp格式(必须)
选项可默认
打开取模软件,选择图形模式(上述的设置不变)
打开指定图片
生成字模
后续也与定义汉字类似。
OLED_Printf
类似c语言printf函数用法。
/*显示函数*/
void OLED_ShowChar(uint8_t X, uint8_t Y, char Char, uint8_t FontSize);
void OLED_ShowString(uint8_t X, uint8_t Y, char *String, uint8_t FontSize);
void OLED_ShowNum(uint8_t X, uint8_t Y, uint32_t Number, uint8_t Length, uint8_t FontSize);
void OLED_ShowSignedNum(uint8_t X, uint8_t Y, int32_t Number, uint8_t Length, uint8_t FontSize);
void OLED_ShowHexNum(uint8_t X, uint8_t Y, uint32_t Number, uint8_t Length, uint8_t FontSize);
void OLED_ShowBinNum(uint8_t X, uint8_t Y, uint32_t Number, uint8_t Length, uint8_t FontSize);
void OLED_ShowFloatNum(uint8_t X, uint8_t Y, double Number, uint8_t IntLength, uint8_t FraLength, uint8_t FontSize);
void OLED_ShowChinese(uint8_t X, uint8_t Y, char *Chinese);
void OLED_ShowImage(uint8_t X, uint8_t Y, uint8_t Width, uint8_t Height, const uint8_t *Image);
void OLED_Printf(uint8_t X, uint8_t Y, uint8_t FontSize, char *format, ...);
绘图函数
在OELD屏幕上绘制想要的图形(点、直线、圆、矩形、椭圆、圆弧...)
可自行测试。
/*绘图函数*/
void OLED_DrawPoint(uint8_t X, uint8_t Y);
uint8_t OLED_GetPoint(uint8_t X, uint8_t Y);
void OLED_DrawLine(uint8_t X0, uint8_t Y0, uint8_t X1, uint8_t Y1);
void OLED_DrawRectangle(uint8_t X, uint8_t Y, uint8_t Width, uint8_t Height, uint8_t IsFilled);
void OLED_DrawTriangle(uint8_t X0, uint8_t Y0, uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2, uint8_t IsFilled);
void OLED_DrawCircle(uint8_t X, uint8_t Y, uint8_t Radius, uint8_t IsFilled);
void OLED_DrawEllipse(uint8_t X, uint8_t Y, uint8_t A, uint8_t B, uint8_t IsFilled);
void OLED_DrawArc(uint8_t X, uint8_t Y, uint8_t Radius, int16_t StartAngle, int16_t EndAngle, uint8_t IsFilled);
取模软件(支持自定义大小图形)
输入所需图形大小(像素点为单位)
调用该图形代码时设置的宽、高应当与这里设置的大小一致,否则出现错误
在出现的网格上绘图(右键点亮像素,左键熄灭像素),然后生成字模
图形定义同Image。