# I2C SSD1306 示例

## 简介

本示例演示通过 I2C 驱动 SSD1306 OLED：初始化显示器、绘制测试图案并刷新显示。

源码位置：`src/rtsmart/examples/peripheral/i2c_ssd1306/test_i2c_ssd1306.c`

## 示例行为

- 固定使用 I2C2（`bus=2`，`400kHz`）
- 固定将 `PIN11` 映射为 `IIC2_SCL`，`PIN12` 映射为 `IIC2_SDA`
- 使用默认地址 `0x3C` 初始化 SSD1306
- 绘制并显示 checkerboard 测试图案

## 关键接口

- `drv_fpioa_set_pin_func()`
- `drv_i2c_inst_create()` / `drv_i2c_inst_destroy()`
- `drv_i2c_transfer()`

## 编译与运行

```shell
cd src/rtsmart/examples/peripheral/i2c_ssd1306
make
./test_i2c_ssd1306
```

该示例无命令行参数。

## 注意事项

1. 示例中 I2C 引脚与总线号是硬编码的，若开发板连线不同，请先修改源码。
1. SSD1306 常见地址是 `0x3C` 或 `0x3D`，本示例默认 `0x3C`。

```{admonition} 提示
I2C 接口细节请参考 [I2C API 文档](../../api_reference/peripheral/i2c.md)。
```
