Skip to content

0.96寸OLED模块

  • CH1116芯片

128*64分为8个页, 每个页有128列

设备地址是0x7A

指令: 以0x00开头之后是一字节的指令

设置页地址: 设置为page0的指令是0xB0, 设置为page7的是0xB7

列地址: 设置为0x5A的时候指令需要两个0x0A 0x15

数据: 以0x40开头之后是若干个数据

移植

直接把驱动代码移植到文件里面, 添加头文件路径, 这时候UTF-8的编码汉字会出问题

需要在C/C++里面添加一行参数--no-multibyte-chars

image-20231205092436115

  • 使用GB2312格式的时候需要对文件的格式进行转换

image-20231205093134508

image-20231205093409447

image-20231205094022542

image-20231205094228701

c
/**
  * OLED显存数组
  * 所有的显示函数,都只是对此显存数组进行读写
  * 随后调用OLED_Update函数或OLED_UpdateArea函数
  * 才会将显存数组的数据发送到OLED硬件,进行显示
  */
uint8_t OLED_DisplayBuf[8][128];

image-20231205114809808

image-20231205114827541

之后调整大小, 然后再次二值化