瑞萨单片机论坛
直播中

jf_81270192

未满1年用户 10经验值
擅长:嵌入式技术
私信 关注
[经验]

【瑞萨RA6E2地奇星开发板试用】LED点亮

上一次已经新建过一个工程,这次直接打开使用。
接下来我们要使用 FSP Configuration 配置 GPIO 的 P402 输出,且初始化为低电平,如下图所示:
image.png

接下来的内容其实跟官方文档差不太多。
保存之后点击 Generate Project Content ,打开 src -> hal_entry.c 文件进行添加应用程序。
image.png

寄存器驱动IO:

首先需要了解这块板子的寄存器和IO关系吧,官方给了资料在\立创·地奇星RA6E2开发板\4、官方文档\RA6E2 Group.pdf,第438页就是端口位操作寄存器的说明,这里和官方给的示例一致选择P402

//P402 端口输出置高
*(uint32_t*)(0x40080000+0x0020*4) = 0x00040004;

研究一下啥意思,P402也就是指的是PORT4 的 2 号 IO,手册里有写这个寄存器的绝对地址写法:

Base address: PORTm = 0x4008_0000 + 0x0020 × m (m = 1 to 4)
* `m=4`:因为要控制的是`P402`(PORT4 的 2IO 口),所以`m`4;
* 计算过程:`0x0020×4 = 0x80`,因此最终地址 = `0x40080000 + 0x80 = 0x40080080`;
* 这个地址就是「PORT4 的 PCNTR1 寄存器」(32 位访问)的物理地址,操作它就能控制 PORT4 所有 IO 的方向和电平。

image.png

而看到资料里写的,低0到15位控制输入输出模式,高16到31位控制电平高低。要求输出置高,分两步:

  • 第一步:把PDR2(PORT4 的 PCNTR1 第 2 位)置 1 → 设置 P402 为 输出模式;
  • 第二步:把PODR2(PORT4 的 PCNTR1 第 18 位,因为 PODR 是 31~16 位,PODR2=16+2=18 位)置 1 → 设置 P402 输出 **高电平** 。
    也就是0000_0100_0000_0100也就是00040004。写在如图:
    image.png
    接下来进行编译构建。直接点击项目右击点击构建项目即可。
    image.png
    寄存器驱动IO就完成。

开始点灯

我没用成功J-LINK,改天研究一下。。。
屏幕截图 2025-12-16 201015.png

在文件夹立创·地奇星RA6E2开发板\1串口&USB下载软件安装包解压缩Renesas Flash Programmer V3.21,这是一款烧录工具软件,瑞萨电子(Renesas Electronics)推出的一款官方、免费、图形化的PC端软件工具,专用于对其微控制器(MCU)、微处理器(MPU)等芯片的片上Flash存储器进行编程(即烧录/下载程序) 。简单来说,它就是一个程序烧录器,是连接你的电脑和瑞萨芯片的桥梁,负责将编译好的可执行文件(如 .hex.mot 文件)写入到目标芯片的Flash中。

我一开始使用USB TO TTL芯片把GND和3.3V都连接上然后把USB TO TTL芯片插到电脑上会一直报错。
屏幕截图 2025-12-16 203107.png

但是我不用USB TO TTL芯片供电而是插上了Type-c 数据线,用于通信和供电就可以。USB转TTL模块的3.3V输出能力还是有限。
屏幕截图 2025-12-16 203749.png

连接引脚,USB TO TTL的GND和3.3V不连,RXD和TXD连接如图框。
image.png

点灯之前先学习四个函数:

R_IOPORT_PinWrite:设置引脚的输出为高或低。
R_IOPORT_PinRead:读取引脚的输入状态。R_BSP_SoftwareDelay:延时函数
R_IOPORT_Open:引脚初始状态、上拉 / 下拉设置等。

点灯

我在src下新建了一个APPLAY的文件夹,在文件夹下写的。

led.h:

#ifndef APPLAY_APP_H_
#define APPLAY_APP_H_

#include"hal_data.h"
void Run(void);
#endif/* APPLAY_APP_H_ */

led.c:

#include"APPLAY\app.h"



voidRun(void)

{

while(1){

        R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_04_PIN_02,BSP_IO_LEVEL_LOW);

        R_BSP_SoftwareDelay(1,BSP_DELAY_UNITS_SECONDS);

        R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_04_PIN_02,BSP_IO_LEVEL_HIGH);

        R_BSP_SoftwareDelay(1,BSP_DELAY_UNITS_SECONDS);

    }

}

image.png

最后相当于在main.c调用Run函数:
image.png

点击那个上面的锤头,运行:
image.png

记得配置e2的时候加上C/C++配置生成hex文件,
拿到的hex文件用RFP烧写。

image.png

PS:注意BOOT的接地帽位置,找错好久。
演示视频:

517a86776eb210d7f476b4342b058a06

更多回帖

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