【瑞萨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]