oled的一套stm32实验2(自己的实验)

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);
    }
}

猜你喜欢

转载自www.cnblogs.com/chulin/p/9376134.html