0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于瑞萨RA0E1开发板的IIC OLED测试

瑞萨嵌入式小百科 来源:嘉立创社区 作者:嘉立创社区 2025-02-13 13:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

内容来自:嘉立创社区

基于前面关于瑞萨e² studio开发软件的使用,以及工程测试基础,本文进一步探索实现硬件IIC OLED的文字和图片显示。

RA0E1方框图

e14088a6-e9bf-11ef-9310-92fbcf53809c.png

RA0E1特性

32MHz Arm Cortex-M23内核

高达64KB闪存和12KB SRAM

1KB数据闪存(100,000次编程/擦除 (P/E) 周期)

16引脚和32引脚封装选项

1.6V至5.5V的宽电压范围

TAU(16位通用PWM定时器

TML32(32位间隔定时器)

实时时钟

12位模数转换器

温度传感器

SAU(UART、简单SPI、简单 I2C

UART

I2C总线

随机数发生器

安全功能

+-1%高精度、高速片上振荡器

灵活的电源架构,具有快速唤醒功能

HAL驱动器代码

支持Arm生态系统和瑞萨电子原创开发工具

1背景

简单介绍IIC通信协议、OLED显示原理、SS1306驱动IC等。

IIC通信协议

IIC(Inter-Integrated Circuit)集成电路总线。它是一种串行通信总线,使用多主从架构,如图所示。

e14de10e-e9bf-11ef-9310-92fbcf53809c.png

IIC

飞利浦Philips公司于二十世纪八十年代初设计,最初是为了让主板、嵌入式系统手机用以连接低速周边设备。

自2006年10月1日起,使用IIC协议不需要支付专利费,但制造商仍然需要付费以获取IIC从属设备地址。

IIC通信协议的功能特点如下

只需要两条总线线路

没有严格的波特率要求,例如使用RS232,主站生成总线时钟

所有组件之间存在简单的主/从关系连接到总线的每个设备都可通过唯一地址进行软件寻址

IIC是真正的多主总线,提供仲裁和冲突检测

多主

IIC使用两根线进行通信:一根时钟线SCL,一根数据线 SDA。

IIC将SCL处于高时SDA拉低的动作作为开始信号,SCL处于高时SDA拉高的动作作为结束信号;

传输数据时,SDA在SCL低电平时改变数据,在SCL高电平时保持数据,每个SCL脉冲的高电平传递1位数据。

7-bit设备的数据传输

e188d778-e9bf-11ef-9310-92fbcf53809c.png

软件模拟IIC一般是用GPIO管脚,软件控制管脚高低电平输出,以模拟IIC通信波形。

硬件IIC对应芯片上的IIC外设,有相应IIC驱动电路,其所使用的IIC管脚也是专用。

软硬件IIC对比

硬件IIC效率远高于软件IIC,软件IIC不受管脚限制,接口更灵活;

软件模拟IIC是通过GPIO软件模拟寄存器的工作方式,而硬件IIC是直接调用内部寄存器进行配置;

性能方面,硬件IIC由于由专门的硬件模块处理,减少了软件干预,因此具有更高的可靠性和稳定性;

硬件IIC模块可以在后台自动处理数据传输,释放CPU资源,因此CPU占用率更低;

软件IIC的代码量多于硬件IIC,相比之下更为复杂;

硬件IIC通常还支持更高的通信速率。

OLED显示原理

OLED(Organic Electroluminescence Display)即有机发光二极管

e19c20c6-e9bf-11ef-9310-92fbcf53809c.jpg

OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异特性,被认为是下一代的平面显示器新兴应用技术。

0.96英寸OLED基本参数

工作电压:3.3~5V(内置3.3V LDO,IIC通信接口电平是3.3V的)

像素点阵规模:128*64(128列,64行,共8192颗LED

驱动IC:SSD1306

OLED模块电路

e1a55d8a-e9bf-11ef-9310-92fbcf53809c.png

SSD1306驱动电路

e1b924d2-e9bf-11ef-9310-92fbcf53809c.png

详见:oled i2c , SSD1306 Datasheet .

oled i2c , SSD1306 Datasheet .

2方法说明

使用e2 studio建立硬件IIC框架;

编译OLED相关主函数,特别是初始化、打开IIC、写入IIC等部分,或移植相关函数,并进行修改;

运行程序,构建项目,调试项目。

3操作说明

新建项目;

引脚Pins定义;

新建Stacks - IIC master,并修改属性,定义地址0x3C;

e1e20e56-e9bf-11ef-9310-92fbcf53809c.png

移植并修改oled.c、oled.h、oledfont.h、bmp.h文件;

构建主函数hal_entry.c,调试项目。

4系统框图

e1f81138-e9bf-11ef-9310-92fbcf53809c.jpg

5代码

主函数

hal_entry.c

左右滑动查看完整内容

while(1)
{
        /*---------- Picture ------------*/
        OLED_Clear();//clear screen
        OLED_DrawBMP(0,0,128,8,BMP1);
        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
        /*----------- Text ------------*/
        OLED_Clear();//clear screen
        OLED_ShowString(0,0,"RA",16);
        OLED_ShowCHinese(16,0,0);//生
        OLED_ShowCHinese(32,0,1);//态
        OLED_ShowCHinese(48,0,2);//工
        OLED_ShowCHinese(64,0,3);//作
        OLED_ShowCHinese(80,0,4);//室
        OLED_ShowString(0,2,"2024.12.14",16);
        OLED_ShowString(0,4,"Renesas RA0E1",16);
        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
}
oled.c
oled.h
oledfont.h
bmp.h

6结果

如主代码所示,图片和文字交替显示。

左右滑动查看完整内容

while(1)
{
    /*---------- Picture ------------*/
    OLED_Clear();//clear screen
    OLED_DrawBMP(0,0,128,8,BMP1);
    R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
    /*----------- Text ------------*/
    OLED_Clear();//clear screen
    OLED_ShowString(0,0,"RA",16);
    OLED_ShowCHinese(16,0,0);//生
    OLED_ShowCHinese(32,0,1);//态
    OLED_ShowCHinese(48,0,2);//工
    OLED_ShowCHinese(64,0,3);//作
    OLED_ShowCHinese(80,0,4);//室
    OLED_ShowString(0,2,"2024.12.14",16);
    OLED_ShowString(0,4,"Renesas RA0E1",16);
    R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
}

每隔500ms刷新页面一次。

7演示视频

e204a7fe-e9bf-11ef-9310-92fbcf53809c.gif

8心得体会

瑞萨RA0E1芯片具有高性能、功耗比和性价比等优异特性,配合Renesas完善的开发环境,便捷的操作和GPIO配置、IIC配置等,可以实现项目的快捷开发和调试。

感谢嘉立创和瑞萨举办的开发板试用活动,希望这次活动和相关测评能够为广大电子爱好者提供参考,并在今后的项目中得到应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    121

    文章

    6333

    浏览量

    232563
  • 瑞萨
    +关注

    关注

    36

    文章

    22431

    浏览量

    89778
  • IIC
    IIC
    +关注

    关注

    11

    文章

    308

    浏览量

    40394
  • 开发板
    +关注

    关注

    25

    文章

    6133

    浏览量

    113542
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试 资料详见官网:工具 -
    发表于 09-05 23:20

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】点灯

    RA0E1开发板试用报告 试用单位 : 个人开发板 : RA0E1 一、背景 很荣幸获得由电子发烧友举办的RA0E1
    发表于 09-24 11:54

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】初步认识RA-Eco-RA0E1-32PIN-V1.0这块开发板

    收到了 RA0E1-32PIN-V1.0开发板,今天给大家介绍一下这块开发板RA-Eco-RA0E1-32PIN-V1.0 以 R7FA0E
    发表于 09-27 11:30

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA0E1-32PIN-V1.0开发板测试一下点灯

    RA0E1-32PIN-V1.0开发板到手已经几天了,今天将收到的板子做一下点灯测试,先简单介绍一下这块开发板RA-Eco-RA0E1
    发表于 09-27 11:56

    RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA-Eco-RA0E1-32PIN-V1.0开发板点灯测试

    开发板 RA0E1 系列是 RA0 系列入门级的基础、简单 MCU,具有出色的成本效益和超低功耗。它使用 Arm Cortex-M2
    发表于 10-10 16:21

    RA6E2地奇星开发板试用】介绍、环境搭建、工程测试

    RA6E2地奇星开发板试用】介绍、环境搭建、工程测试 本文介绍了
    发表于 12-07 15:27

    RA4系列开发板体验】10. 我的试用总结

    KEIL下UART实现printf与scanf重定向【RA4系列开发板体验】4. PWM驱动LED【
    发表于 12-10 22:34

    RA4系列开发板体验】体验过程

    拿到板子之后,做了几个实验过程,过程如下:1、在好奇心驱动下,逐步接触;参照网上的实例,学习开发环境一、开箱验货二、搭建环境参考“ 【
    发表于 12-18 16:20

    支持RT-Thread最新版本的RA2E1开发板终于要大展身手了

    支持RT-Thread最新版本的RA2E1开发板终于要大展身手了
    的头像 发表于 05-16 15:30 1803次阅读
    支持RT-Thread最新版本的<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA2E1</b><b class='flag-5'>开发板</b>终于要大展身手了

    RA MCU家族推出集成Arm® Cortex®-M23内核的全新RA0系列

    RA MCU家族推出全新的RA0系列,RA0E1产品组是入门级简易MCU,具有出色的成本效益和超低功耗。
    的头像 发表于 04-10 14:32 2395次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b> MCU家族推出集成Arm® Cortex®-M23内核的全新<b class='flag-5'>RA0</b>系列

    电子RA产品家族新增RA0E1 MCU产品组

    电子RA产品家族新增RA0E1 MCU产品组。RA0E1系列是一款低功耗、低成本微控制器,结合了32MHz Arm® Cortex®-M
    的头像 发表于 04-11 15:17 1907次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b>产品家族新增<b class='flag-5'>RA0E1</b> MCU产品组

    RA0E1开发分享之一

    介绍生态社区的RA0E1开发板
    的头像 发表于 05-10 13:57 2519次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA0E1</b><b class='flag-5'>开发</b>分享之一

    基于RA0E1 MCU的解决方案介绍

    RA0E1产品组是RA家族入门级简易MCU,具有出色的成本效益和超低功耗特性。它集成Arm Cortex-M23内核,内置高达64KB的闪存,具有1.6V到5.5V的宽工作电压范围
    的头像 发表于 07-09 11:13 1529次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA0E1</b> MCU的解决方案介绍

    基于RA0E1开发板的ThreadX实时操作系统串口回显测试

    感谢立创提供测试机会,学到RA0MCU的相关使用。使用FSP库和配置工具大大简化了
    的头像 发表于 02-25 09:27 935次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA0E1</b><b class='flag-5'>开发板</b>的ThreadX实时操作系统串口回显<b class='flag-5'>测试</b>

    RA0系列MCU喜添新成员RA0E2

    RA家族2024年推出全新的RA0超低功耗系列,继RA0E1产品后,新添成员RA0E2。RA0E2具有出色的成本效益和超低功耗。此外,
    的头像 发表于 05-06 09:29 1008次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA0</b>系列MCU喜添新成员<b class='flag-5'>RA0E</b>2