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

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

3天内不再提示

瑞萨e2studio(3)----GPIO输入检测

嵌入式单片机MCU开发 来源: 嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2022-11-14 20:15 次阅读

概述

本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输出,并以LED显示。

视频教学

听不到声音的请点击跳转进行观看。

[video(video-4XyyvLft-1649445510098)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=634677043)(image-https://img-blog.csdnimg.cn/img_convert/0a2553dda92a0734aabad89d3a8f508d.png)(title-瑞萨e2studio(6)----GPIO输入检测(image-https://img-blog.csdnimg.cn/img_convert/0a2553dda92a0734aabad89d3a8f508d.png)(title-%E7%91%9E%E8%90%A8e2studio(6)----GPIO%E8%BE%93%E5%85%A5%E6%A3%80%E6%B5%8B))]

硬件准备

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

新建工程

在这里插入图片描述

工程模板

在这里插入图片描述

保存工程路径

在这里插入图片描述

芯片配置

本文中使用R7FA2L1AB2DFL来进行演示。 在这里插入图片描述

工程模板选择

在这里插入图片描述

GPIO口配置

由下图我们可以得知,板子上有2个LED灯,同时需要给高电平才可以点亮,故以P301和P302管脚为例。 在这里插入图片描述

按键口配置

由下图我们可以得知,按键在P104管脚,并且有一个上拉。 在这里插入图片描述

按键口&Led配置

案例:当按下按键P104,P301亮,否则P301灭。 在这里插入图片描述在这里插入图片描述

R_IOPORT_PortRead()函数原型

fsp_err_t R_IOPORT_PortRead    (    ioport_ctrl_t *const     p_ctrl,
bsp_io_port_t     port,
ioport_size_t *     p_port_value 
)    

说明:
Reads the value on an IO port. Implements ioport_api_t::portRead.

The specified port will be read, and the levels for all the pins will be returned. Each bit in the returned value corresponds to a pin on the port. For example, bit 7 corresponds to pin 7, bit 6 to pin 6, and so on.

故可以用R_IOPORT_PortRead()函数进行读取IO口电平状态,该函数是把一个PORT口的16个端口一起读取出来。

ioport_size_t p_port_value_port_104; 
R_IOPORT_PortRead(&g_ioport_ctrl, BSP_IO_PORT_01, &p_port_value_port_104);

R_IOPORT_PinRead()函数原型

fsp_err_t R_IOPORT_PinRead    (    ioport_ctrl_t *const     p_ctrl,
bsp_io_port_pin_t     pin,
bsp_io_level_t *     p_pin_value 
)        

说明:
Reads the level on a pin. Implements ioport_api_t::pinRead.

故可以用R_IOPORT_PinRead()函数进行读取IO口电平状态,该函数只能读取一个端口的电平。

bsp_io_level_t p_port_value_port_104_1;
R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, &p_port_value_port_104_1);

由上述可以得知,R_IOPORT_PortRead完全可以替代R_IOPORT_PinRead。

代码

在hal_entry()中添加如下。

#include "hal_data.h"

FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
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);
    ioport_size_t p_port_value_port_104;
    bsp_io_level_t p_port_value_port_104_1;
    while(1)
    {

//     R_IOPORT_PortRead(&g_ioport_ctrl, BSP_IO_PORT_01, &p_port_value_port_104);
//     if(p_port_value_port_104 & 0x0010)
//         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
//     else
//         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);

        R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, &p_port_value_port_104_1);
        if(p_port_value_port_104_1)//BSP_IO_LEVEL_HIGH 没按下
            R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
        else
            R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);
    }
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

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

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

    关注

    6032

    文章

    44514

    浏览量

    632912
  • ST
    ST
    +关注

    关注

    32

    文章

    1129

    浏览量

    128824
  • 瑞萨
    +关注

    关注

    34

    文章

    22290

    浏览量

    86057
  • GPIO
    +关注

    关注

    16

    文章

    1196

    浏览量

    51907
收藏 人收藏

    评论

    相关推荐

    e2studio(25)----电容触摸配置(2)

    e2studio(25)----电容触摸配置(2)
    的头像 发表于 08-21 15:50 886次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(25)----电容触摸配置(<b class='flag-5'>2</b>)

    e2studio(1)----芯片之搭建FSP环境

    视频教学 样品申请 请勿添加外链 e2studio软件 e2studio的集成开发环境,FSP 提供了众多可提高效率的工具,用于开发针对
    发表于 09-30 15:28

    如何使用e2studio单片机进行GPIO输出并以LED显示?

    如何使用e2studio单片机进行GPIO输出并以LED显示?
    发表于 02-16 06:50

    使用e2studio显示对单片机进行GPIO输出的过程步骤是什么?

    使用e2studio显示对单片机进行GPIO输出的过程步骤是什么?
    发表于 02-16 07:41

    e2studio(2)----GPIO输出

    概述本篇文章主要介绍如何使用e2studio单片机进行GPIO输出,并以LED显示。硬件准备首先需要准备一个开发板,这里我准备的是芯片型号R7FA
    发表于 12-20 19:00 12次下载
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>GPIO</b>输出

    e2studio(3)----GPIO输入检测

    e2studio.3--GPIO输入检测概述硬件准备新建工程工程模板保存工程路径芯片配置工程模板选择按键口&Led配置Led端口配置按键
    发表于 12-20 19:00 6次下载
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>3</b>)----<b class='flag-5'>GPIO</b><b class='flag-5'>输入</b><b class='flag-5'>检测</b>

    e2studio(2)----GPIO输出

    本篇文章主要介绍如何使用e2studio单片机进行GPIO输出,并以LED显示。
    的头像 发表于 11-14 17:11 1256次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>GPIO</b>输出

    e2studio(8)----PWM

    本篇文章主要介绍如何使用e2studio单片机进行PWM输出。
    的头像 发表于 11-15 10:43 1120次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(8)----PWM

    e2studio(9)----EXIT

    本篇文章主要介绍如何使用e2studio单片机进行EXIT检测,之后通过按键形式以及灯的亮灭形式进行演示。
    的头像 发表于 11-15 10:53 1044次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(9)----EXIT

    e2studio(10)----DAC

    本篇文章主要介绍如何使用e2studio单片机进行DAC输出。
    的头像 发表于 11-15 10:59 948次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(10)----DAC

    e2studio(14)----定时器GPT配置输入捕获

    本篇文章主要介绍如何使用e2studio单片机定时器输入捕获,同时输入一个PWM验证是否正确。
    的头像 发表于 11-15 11:54 1288次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>(14)----定时器GPT配置<b class='flag-5'>输入</b>捕获

    e2studio----DAC

    本篇文章主要介绍如何使用e2studio单片机进行DAC输出。
    的头像 发表于 11-02 16:13 1104次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio</b>----DAC

    e2studio----GPIO输出

    概述本篇文章主要介绍如何使用e2studio单片机进行GPIO输出,并以LED显示。
    的头像 发表于 11-03 17:01 1385次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio----GPIO</b>输出

    e2studio----GPIO输入检测

    本篇文章主要介绍如何使用e2studio单片机进行GPIO输入检测,并以LED显示。
    的头像 发表于 11-03 17:20 1225次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>e2studio----GPIO</b><b class='flag-5'>输入</b><b class='flag-5'>检测</b>

    如何使用e2studio单片机进行GPIO输出

    本篇文章主要介绍如何使用e2studio单片机进行GPIO输出,并以LED显示。
    的头像 发表于 07-30 16:12 602次阅读
    如何使用<b class='flag-5'>e2studio</b>对<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>单片机进行<b class='flag-5'>GPIO</b>输出