欢迎光临散文网 会员登陆 & 注册

瑞萨e2studio(2)----GPIO输出

2022-09-15 16:16 作者:记帖  | 我要投稿

@TOC

概述

本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输出,并以LED显示。
需要样片的可以加qun申请:615061293 。

视频教学

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

csdn课程

课程更加详细。
https://edu.csdn.net/course/detail/36131

硬件准备

首先需要准备一个开发板,这里我准备的是芯片型号R7FAM2AD3CFP的开发板:

在这里插入图片描述

新建工程

在这里插入图片描述

工程模板

在这里插入图片描述

保存工程路径

在这里插入图片描述

芯片配置

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

在这里插入图片描述

工程模板选择

在这里插入图片描述

GPIO口配置

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

在这里插入图片描述

在e2studio中可以直接设置P301为输出口。

在这里插入图片描述

R_IOPORT_PinWrite()函数原型

在这里插入图片描述

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

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);

R_IOPORT_PortWrite()函数原型

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

在这里插入图片描述

 //0x0002为设定值,0x00ff为mark,即需要开启的管脚
R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x00020x00ff);

代码

在hal_entry()中添加如下。

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

    fsp_err_t      err;
    /* Initialize the IOPORT module and configure the pins
     * Note: The default pin configuration name in the RA Configuraton tool is g_bsp_pin_cfg */

    err = R_IOPORT_Open(&g_ioport_ctrl, &g_bsp_pin_cfg);
    /* Handle any errors. This function should be defined by the user. */
    assert(FSP_SUCCESS == err);
    while(1)
    {
        /* Set P301 to High */
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_02, BSP_IO_LEVEL_LOW);
//        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);
//
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
//        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_02, BSP_IO_LEVEL_HIGH);
//        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);

        //0x0002为设定值,指是否使能,0x0006为mark,指的是端口1&2打开,即开启的管脚
        R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x00040x0006);
        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);

        R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x00020x0006);
        R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);

    }

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

开发板链接

在这里插入图片描述


以上的代码会在Q_QUN里分享。Q_QUN:615061293。
或者关注『记帖』,持续更新文章和学习资料!


在这里插入图片描述


瑞萨e2studio(2)----GPIO输出的评论 (共 条)

分享到微博请遵守国家法律