e2studio开发RA0E1(1)---GPIO输出

16 篇文章 0 订阅

概述

最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:925643491。
本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输出,并以LED显示。

硬件准备

首先需要准备一个开发板,这里我准备的是芯片型号R7FA0E1073CFJ的开发板:
在这里插入图片描述

视频教学

https://www.bilibili.com/video/BV1Yr421J7sE/

e2studio开发RA0E1(1)----GPIO输出

样品申请

https://www.wjx.top/vm/rCrkUrz.aspx

源码下载

https://download.csdn.net/download/xinzuofang/89283520

新建工程

在这里插入图片描述

工程模板

在这里插入图片描述

保存工程路径

在这里插入图片描述

芯片配置

本文中使用R7FA0E1073CFJ来进行演示。

在这里插入图片描述

工程模板选择

在这里插入图片描述

时钟设置

开发板上的外部高速晶振为8M.

在这里插入图片描述

需要修改XTAL为8M。

在这里插入图片描述

GPIO口配置

由下图我们可以得知,板子上有3个LED灯,同时需要给高电平才可以点亮,故以P013和P014管脚为例,配置方式如下所示。

在这里插入图片描述
在e2studio中可以直接设置P013和P014为输出口。
在这里插入图片描述

R_IOPORT_PinWrite()函数原型

在这里插入图片描述

故可以用R_IOPORT_PinWrite()函数进行配置,配置高电平如下所示。

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_13, BSP_IO_LEVEL_HIGH);

R_IOPORT_PortWrite()函数原型

R_IOPORT_PortWrite()函数是对一个Port的所有Pin脚进行写操作。

在这里插入图片描述

        /*向端口BSP_IO_PORT_00的第13位写入1,清除第14位
         * BSP_IO_PORT_00 是指定的端口。
         * 0x2000 是要写入的值,其中位13设置为1(0x2000 在二进制表示中为 0010 0000 0000 0000)。
         * 0x6000 是掩码,表示要更新的位是第13位和第14位(0x6000 在二进制表示中为 0110 0000 0000 0000)。此操作将位13设置为1,并清除位14。
         */
        R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_00, 0x2000, 0x6000);
        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);
        /*向端口BSP_IO_PORT_00的第14位写入1,清除第13位

代码

在hal_entry()中添加如下。

void hal_entry(void)
{
    /* TODO: add your own code here */


    while(1)
    {
        /* Set P013、P014 to High */
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_13, BSP_IO_LEVEL_HIGH);
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_14, BSP_IO_LEVEL_LOW);
//        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);
//
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_13, BSP_IO_LEVEL_LOW);
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_14, BSP_IO_LEVEL_HIGH);
//        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);

        /*向端口BSP_IO_PORT_00的第13位写入1,清除第14位
         * BSP_IO_PORT_00 是指定的端口。
         * 0x2000 是要写入的值,其中位13设置为1(0x2000 在二进制表示中为 0010 0000 0000 0000)。
         * 0x6000 是掩码,表示要更新的位是第13位和第14位(0x6000 在二进制表示中为 0110 0000 0000 0000)。此操作将位13设置为1,并清除位14。
         */
        R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_00, 0x2000, 0x6000);
        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);
        /*向端口BSP_IO_PORT_00的第14位写入1,清除第13位
         * BSP_IO_PORT_00 是指定的端口。
         * 0x4000 是要写入的值,其中位14设置为1(0x4000 在二进制表示中为 0100 0000 0000 0000)。
         * 0x6000 是掩码,表示要更新的位是第13位和第14位(0x6000 在二进制表示中为 0110 0000 0000 0000)。此操作将位13设置为1,并清除位14。
         */
        R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_00, 0x4000, 0x6000);
        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);

    }


#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值