lospring 发表于 2026-8-4 01:47:22

【瑞萨RA-eco-RA6M4评测】OLED显示

本次分享 0.96 英寸 SSD1315 OLED(128×64)显示项目,OLED 使用 I2C 总线。

## **OLED 模块(SSD1315,128×64,I2C)**

| **信号** | **引脚** | **说明**                              |
| ----------- | ----------- | ------------------------------------------ |
| SCL       | P400      | I2C0时钟,FSP 配置为 R_IIC_MASTER 通道 0 |
| SDA       | P401      | I2C0数据                                 |
| GND / VCC | 3.3V      | 模块供电                                 |
| I2C地址   | 0x3C      | SA0接地 → 7 位地址 0x3C               |

## **为了方便调试,使用板载 LED 诊断(高电平点亮)**

| **LED**      | **引脚** | **含义**                                 |
| --------------- | ----------- | ------------------------------------------- |
| P002          | P0.2      | CPU运行中(复位后常亮,证明程序正常执行) |
| P404          | P4.4      | OLED初始化成功(I2C 总线与屏幕通信正常)|
| P405          | P4.5      | 绘制完成(文本已写入屏幕)                |
| P002闪烁 2 次 | P0.2      | OLED初始化失败(I2C 无应答)            |

首先打开I2C功能
!(https://www.eefocus.com/forum/data/attachment/forum/202608/04/013825wzrrh04uu0u414qh.png)

在Stacks里添加New Stack,找到r\_iic\_master,配置一下名称和对应通道
!(https://www.eefocus.com/forum/data/attachment/forum/202608/04/014058qhh98oh88uz9ufnd.png)

之后找出包浆的SSD1315的驱动程序,简单移植一下就完成了

## **主流程(hal\_entry):**

1. led\_reg\_init()                     // 三个 LED 设为输出
2. 点亮 P002                        // 表示进入 hal_entry
3. R\_IOPORT\_PinCfg(...)               // 确认 LED 引脚为输出
4. ssd1315\_init()                     // 打开 g_i2c0、设地址 0x3C、发送初始化序列
   
   - 成功 → 点亮 P404;失败 → P002 闪烁 2 次并死循环
5. ssd1315\_clear()                  // 清屏
6. ssd1315\_draw\_string(...) x4      // 绘制四行文本
7. ssd1315\_refresh()                  // 整屏刷新
8. 点亮 P405                        // 绘制完成
9. while(1) 延时循环


## **烧录后必须退出 boot 模式**

现象:RFP 烧录完直接看没反应。

原因:通过串口 boot(ROM bootloader)烧录后,BOOT/MD 引脚仍处于 boot 模式,应用没有运行。

解决:烧完把 BOOT/MD 引脚恢复为正常运行状态,再复位/上电,应用即开始运行

## **最终显示效果**

!(https://www.eefocus.com/forum/data/attachment/forum/202608/04/014554syqwh8b5oly48hjb.jpg)
完整项目参考以下文件


页: [1]
查看完整版本: 【瑞萨RA-eco-RA6M4评测】OLED显示