stm32与OLED屏接口的引脚介绍:
CS————GPIOD3;
RST————GPIOD4;
DC—————GPIOD5;
D0——————GPIOD6;
D1——————GPIOD7;
上是我参考别人的oled引脚的接线
但是 我买的oled模块和别人的不是很一样,虽然也是spi通信的
看一下我的接线:
模块与stm32:
GND--GND
VCC--3.3v
SCL--PD6 :这个是时钟
SDA--PD7 :这个是传输数据的,也就是数据线spi本应是两条的,但是屏幕并没有返回值,所以只有一条了
RES--PD4 :复位,
DC--PD5 :这个是命令或数据指示位,当为高电平的时候表示数据,低电平的时候表示命令
根据上面的取模方式,就要有相对应的代码才行:
下面这行代码就是对应的这种取模方式,这个是32*32的汉字.
void OLED_ShowChinese(int x, int y, const unsigned char *p)
{
int i = 0;
OLED_Coord(x, y);
for(i = 0; i < 32; i+=2) //因为汉字是占了屏幕里的两行,所以要有上下两个部分. 汉字的宽是32个像素.
{
SPI_Write(p[i], OLED_Data);
}
OLED_Coord(x, y+1);
for(i = 1; i < 32; i+=2)
{
SPI_Write(p[i], OLED_Data);
}
}