SSD1306Ascii 开源项目教程
1. 项目的目录结构及介绍
目录结构
SSD1306Ascii/
├── LICENSE
├── README.md
├── SSD1306Ascii
│ ├── SSD1306Ascii.cpp
│ ├── SSD1306Ascii.h
│ ├── SSD1306AsciiFonts.h
│ └── SSD1306AsciiWire.h
├── examples
│ ├── HelloWorld
│ │ ├── HelloWorld.ino
│ │ └── README.md
│ └── WireExample
│ ├── WireExample.ino
│ └── README.md
└── keywords.txt
目录介绍
- LICENSE: 项目的许可证文件。
- README.md: 项目的基本介绍和使用说明。
- SSD1306Ascii: 核心库文件夹,包含主要的源代码和头文件。
- SSD1306Ascii.cpp: 库的主要实现文件。
- SSD1306Ascii.h: 库的头文件。
- SSD1306AsciiFonts.h: 字体定义文件。
- SSD1306AsciiWire.h: 通过I2C接口通信的头文件。
- examples: 示例代码文件夹,包含多个示例项目。
- HelloWorld: 基本的Hello World示例。
- HelloWorld.ino: Arduino示例代码。
- README.md: 示例说明。
- WireExample: 通过I2C接口的示例。
- WireExample.ino: Arduino示例代码。
- README.md: 示例说明。
- HelloWorld: 基本的Hello World示例。
- keywords.txt: Arduino IDE的关键词高亮文件。
2. 项目的启动文件介绍
启动文件
项目的启动文件主要是示例代码中的 .ino
文件,例如 HelloWorld.ino
和 WireExample.ino
。这些文件是Arduino项目的入口点,包含了项目的初始化代码和主循环。
HelloWorld.ino 示例
#include <SSD1306Ascii.h>
#include <SSD1306AsciiWire.h>
// 0X3C+SA0 - 0x3C or 0x3D
#define I2C_ADDRESS 0x3C
// Define proper RST_PIN if required.
#define RST_PIN -1
SSD1306AsciiWire oled;
void setup() {
Wire.begin();
Wire.setClock(400000L);
#if RST_PIN >= 0
oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN);
#else // RST_PIN >= 0
oled.begin(&Adafruit128x64, I2C_ADDRESS);
#endif // RST_PIN >= 0
oled.setFont(Adafruit5x7);
oled.clear();
oled.println("Hello World!");
}
void loop() {
}
代码说明
- 包含头文件: 引入了
SSD1306Ascii.h
和SSD1306AsciiWire.h
头文件。 - I2C地址: 定义了OLED屏幕的I2C地址。
- 初始化: 通过
oled.begin()
初始化OLED屏幕。 - 设置字体: 设置显示字体为
Adafruit5x7
。 - 清屏并显示文字: 清屏后显示 "Hello World!"。
3. 项目的配置文件介绍
配置文件
项目中没有显式的配置文件,但可以通过修改示例代码中的参数来配置项目。例如,可以修改I2C地址、RST引脚等参数。
配置示例
#define I2C_ADDRESS 0x3C
#define RST_PIN -1
配置说明
- I2C_ADDRESS: 设置OLED屏幕的I2C地址。
- RST_PIN: 设置复位引脚,如果不需要