【开箱】
瑞萨 RA4E2 开发板使用 R7FA4E2B93CFM 芯片
基于 ARM Cortex M33 内核,主频 100M,Flash 128K,RAM 40K
片上资源已经足够满足很多应用
美中不足的是缺少 SDIO,RGB,DVP,ETH 等接口,但是瑞萨 RA4E2 这些外设也足以满足大部分需求
这款开发板包装精致,设置也很合理
芯片功能框图如下:
【板载资源介绍】
板载 用户KEYx1、USB转串口x1、蓝色LED灯x8
【开发工具和环境】
支持 Keil、E2 Studio 开发工具
使用 Keil 开发,建议安装瑞萨 RASC(RA Smart Configurator)软件进行 Keil 工程生成和芯片功能配置(类似 STM32 的 MX 软件功能)
RASC 软件安装包 800M+,安装完占用超过 2G 磁盘空间,如果觉得麻烦并且费时,也可以不安装 RASC,但是需要安装 pack 包,pack 包只有 50M+,pack 包可以从 keil 官网下载(https://www.keil.arm.com/devices/),也可以从瑞萨官网下载(https://www.renesas.cn/zh/software-tool/flexible-software-package-fsp)*附件:Renesas.RA_DFP.5.6.0.pack.rar
安装完 pack 包,拷贝一份 RASC 生成的初始代码就可以进行开发了,这里提供一份我生成的初始代码:*附件:r7fa4e2b93cfm.rar ,需要注意的是,RASC 生成的初始 Keil 代码在编译时会调用 RASC 进行代码生成,如果没安装 RASC,需要把以下命令行关掉:
使用 RASC 生成的初始代码,直接烧录是无法成功的,需要添加烧录选项,如下图所示:
官方也提供了部分示例工程供参考,这些工程基于 E2 Studio,使用 Keil 需要自行进行代码修改
由于是 ARM 内核,可以使用 J-LINK、DAP-LINK、ST-LINK 等众多调试工具
【点灯】
官方提供了点灯例程,路径在 \RA4E2_64PIN_example\RA4E2_LED,不是 Keil 工程,需要修改到 Keil 工程中,编译烧录就可以使用了
硬件连接如下:
这里以点亮 P113 为例,修改如下代码配置引脚模式:
在 main 函数调用的 hal_entry 函数里添加如下代码即可点亮 LED2:
效果如下图:
【点亮OLED显示屏】
瑞萨 RA4E2 支持硬件 I2C,开发板上有 I2C OLED 屏接口,可以接入 OLED 屏使用,如下:
这里使用 IO 模拟 I2C 通信,P100、P101 设置为开漏输出
驱动代码如下:
void OLED_SSD1306_Init(void)
{
u8 i;
OLED_SSD1306_IIC_Init();
for (i=0; i<sizeof(OLED_SSD1306_CONFIG_TABLE); i++)
{
OLED_SSD1306_W_CMD(OLED_SSD1306_CONFIG_TABLE[i]);
}
}
void OLED_SSD1306_CLEAR(u8 color)
{
u8 i;
for(i=0; i<8; i++)
{
OLED_SSD1306_SetXY(0, i);
OLED_SSD1306_FillnB(color, 128);
}
}
void OLED_SSD1306_Draw(void* buf, u8 x, u8 page, u8 w, u8 h)
{
u8 i, *img;
img = buf;
for(i=0; i<(h>>3); i++)
{
OLED_SSD1306_SetXY(x, (u8)(page+i));
OLED_SSD1306_WritenB(0x40, img, w);
img+=w;
}
}
【动态OLED显示屏】
驱动 OLED 只是应用的第一步,很多场景下,需要显示屏有不同的动态效果,例如显示动态波形,图像
这里开辟一块 10K 的缓存给 OLED 进行绘制使用,最少需要 1K
设计一个内存分配代码来动态申请内存:
设计一个图像管理代码来管理图像信息:
设计一个画布操作代码,来绘制图形:
然后调用这些函数进行绘制:
效果视频如下: