ESP8266开发学习笔记_OLED屏幕的IIC驱动
ESP8266 开发学习笔记_By_GYC 【OLED屏幕的IIC驱动】
在我之前的文章中简单介绍过oled的IIC驱动程序,包括SSD1306芯片手册的一些内容,并参考了Arduino大神的代码,将OLED在Arduino上的的驱动改写为了能够应用于ESP8266 RTOS SDK的C语言版本,并作为我的常用库使用。在发现ESP8266可以使用C++编程之后我决定将 ThingPulse 的OLED驱动库(c++版本)完整的进行移植,让我能够在SDK中也能够方便的使用。
最近我也在研究应用在stm32单片机的FreeRtos操作系统,所以本次OLED的驱动也考虑了在其他FreeRtos操作系统中的适配,可以方便的通过宏定义配置的方式,直接应用在支持FreeRtos操作系统的单片机上。
(目前库中仅支持ESP8266 IDF版本和STM32F103 FreeRTOS及 STM32F103 无操作系统版本。 如果使用其他系列单片机 通信协议还是需要自己修改的)。
适用范围
|—|
|ESP8266_RTOS_SDK V3.0 (ESP-IDF Style)|
|STM32F103裸机|
|STM32F103 FreeRtos操作系统版本|
user_config 用户配置
使用宏定义在“user_oled_config.h”中使用不同的使用方式
1 |
如果您不使用FreeRTOS操作系统,则需要自己覆盖millis()函数。
I2C使用方法
使用IIC方式驱动OLED屏幕的方式
1 |
|
对于 esp8266-idf
1 | SSD1306I2C display(0x3c,GPIO_NUM_5,GPIO_NUM_4);// OLED_Address SCL SDA |
对于 stm32
1 | SSD1306I2C display(0x3c, GPIO_Pin_10, GPIO_Pin_11); //OLED_Address SCL SDA |
API接口
显示控制
1 | //初始化显示 |
像素绘图
1 | / *绘图功能* / |
文字操作
1 | void drawString(int16_t x,int16_t y,String text); |
由于这个库本身是由 ThingPulse 开发而来,我再此就不做过多的说明,功能研究请移步 ThingPulse 网站,我仅将移植好的原代码放在我的github仓库中(https://github.com/gengyuchao/oled_ssd1306) 如果有需要可以自己下载研究,有任何问题欢迎与我交流讨论。我会把以后遇到的问题在博客中进行补充说明。
- Post Title: ESP8266开发学习笔记_OLED屏幕的IIC驱动
- Post Author: Geng Yuchao
- Post Link: https://github.com/gengyuchao/gengyuchao.github.io/2020/08/09/ESP8266学习笔记/ESP8266开发学习笔记_OLED屏幕的IIC驱动/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.