使用的OLED屏是 0.96寸 SPI 7针
OLED制作厂家资料为:0.96inch SPI OLED Module
下面为官方资料:
OLED接口
注意:
1、本模块支持IIC、3线制SPI以及4线制SPI接口总线模式切换(如图2红框内所示),具体说明如下:
A、使用4.7K电阻只焊接R3、R4,则选择4线制SPI总线接口(默认);
B、使用4.7K电阻只焊接R2、R3,则选择3线制SPI总线接口;
C、使用4.7K电阻只焊接R1、R4、R6、R7、R8,则选择IIC总线接口;
2、接口总线模式切换后,需要选择相应配套的软件和相应的接线引脚(如图1所示),模块才能正常运行。相应的接线引脚说明如下:
A、选择4线制SPI总线接口,所有的引脚都需要使用;
B、选择3线制SPI总线接口,只有DC引脚不需要使用(可以不接),其他引脚都需要使用;
C、选择IIC总线接口,只需要使用GND、VCC、D0、D1这四个引脚,同时将RES接高电平(可以接VCC),DC和CS接电源地;
序号 | 模块引脚 | 引脚说明 |
---|---|---|
1 | GND | OLED电源地 |
2 | VCC | OLED电源正(3.3V~5V) |
3 | D0 | OLED SPI和IIC总线时钟信号 |
4 | D1 | OLED SPI和IIC总线数据信号 |
5 | RES | OLED复位信号,低电平复位(选择IIC总线时,该引脚需要接高电平(可以接VCC)) |
6 | DC | OLED命令/数据输入选择信号,高电平:数据,低电平:命令(选择3线制SPI总线时,该引脚不需要使用(可以不接);选择IIC总线时,该引脚需要接电源地) |
7 | CS | OLED片选信号,低电平使能(选择IIC总线时,该引脚需要接电源地) |
目标为将官方资料中demo修改为任务目标,显示姓名和数字。
官方演示程序如下:
下载完成后,由于我使用的STM32开发板,在Demo中选择了Demo_STM32。
选择STM32类型,由于我是的STM32F103RCT6,选择。
在main()函数中,我们使用TEST_MainPage显示屏幕信息。
在TEST_MainPage()显示了OLED TEST等信息,我们可以修改GUI_ShowString函数显示自己想要显示的信息,demo中代码如下:
void TEST_MainPage(void)
{
GUI_ShowString(28,0,"OLED TEST",16,1);
GUI_ShowString(12,16,"0.96\" SSD1306",16,1);
GUI_ShowString(40,32,"64X128",16,1);
GUI_ShowString(4,48,"www.lcdwiki.com",16,1);
delay_ms(1500);
delay_ms(1500);
}
我们需要汉字显示的话,需要先将汉字格式转换为16x16点阵格式,工具在官方资料中,设置看压缩包给的图。
将需要的字转换点阵格式。
然后将生成点阵格式粘贴到oledfont.h文件中
看准是宋体 16x16,typFNT_GB16 cfont16[]函数中,修改前头格式。
连接OLED屏,文件在demo程序中,STM32F103RCT6如下:
这里是演示图片