野火科技
直播中

hehung

8年用户 659经验值
擅长:嵌入式技术
私信 关注

【瑞萨RA MCU创意氛围赛】3. 硬件I2C驱动OLED显示汉字

【瑞萨RA MCU创意氛围赛】1. PWM驱动LED以及STLINK下载配置
【瑞萨RA MCU创意氛围赛】2. KEIL下串口重定向printf和scanf

前言

OLED是单片机开发中会经常使用的一个显示屏,主要是因为使用简单,可以通过IIC进行通信,也有支持SPI通信的OLED。

本文讲解如何使用启明RA6M5来驱动OLED显示中英文信息。

1. IIC硬件连接

我把原理图翻了一个遍,最终选择了使用EBF模块接口上的I2C接口,因为改接口的布线顺序和OLED的I2C接口一致。可以直接将OLED插上去,减少了接线。

该接口使用的是SCI6的I2C功能。
1685078592780.png

2. 配置

Pin下配置如下:选择SCI6,复用I2C模式。
1685078731404.png

配置stack,选择sci_i2c:
1685078797371.png

详细配置如下:
1685078865059.png

3. 代码实现

3.1 字库

下面是测试代码:

I2c_Init();
    OLED_Init();

	OLED_ShowHzStringRow(30, 0, (const char*)"启明", 1);
    OLED_ShowString(62, 0, (const uint8_t*)"RA6M5", 16, 1);
    OLED_ShowHzStringRow(32, 24, (const char*)"电子发烧友", 1);
    OLED_ShowString(64, 48, (const uint8_t*)"--hehung", 16, 1);
    OLED_Refresh_Gram();

驱动代码见附件:
*附件:ra6m4_oled_driver.7z

4. 测试结果展示

下图是测试结果,可以看到,能够正常显示字符串和汉字:
1685079389749.png

更多回帖

发帖
×
20
完善资料,
赚取积分