通信协议采用SPI,GPIO按照如下定义:
PA4 —— CS
PA5 —— D0(SCL)
PA7 —— D1(SDA)
PB0 —— RES
PB1 —— DC
常用函数:
1.初始化OLED
void OLED_Init(void)
2.开启OLED显示
void OLED_Display_On(void)
3.关闭OLED显示
void OLED_Display_Off(void)
4.清屏
void OLED_Clear(void)
5.显示一个字符
void OLED_ShowChar(u8 x,u8 y,u8 chr)
x:列,y:行,chr:字符。
e.g.
OLED_ShowChar(0,0,'+');
6.显示数字
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size)
x:列,y:行,num:数字,len:长度,size:字符大小,经测试16比较合适。
e.g.
OLED_ShowNum(0,0,999,3,16);
7.显示字符串
void OLED_ShowString(u8 x,u8 y,u8 *chr)
x:列,y:行,*chr:字符串
e.g.
OLED_ShowString(16,2,'Stay Naive.');
8.显示汉字
void OLED_ShowCHinese(u8 x,u8 y,u8 no);
其中no为oledfont.h里二维数组Hzk[][32]的值。需要将所要显示的汉字经过取模后存入该数组。
e.g.
OLED_ShowCHinese(108,0,6);
示例请参阅:
STM32F108C3:https://github.com/imxyu/STM32F103C 大专栏 STM32外接OLED12864显示8-with-OLED12864
示例实现的效果如下: