查看: 898|回复: 0

瑞萨e2studio----GPIO输出

[复制链接]

7

主题

7

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
80134
发表于 2021-10-19 11:26:50 | 显示全部楼层 |阅读模式
概述
本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输出,并以LED显示。

视频教学
https://www.bilibili.com/video/BV1zq4y1N7Ur?spm_id_from=333.999.0.0

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

新建工程


工程模板


保存工程路径


芯片配置
本文中使用R7FA2L1AB2DFL来进行演示。


工程模板选择


GPIO口配置

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



工程文件
查看pin_data.c,可以看到P103的定义已经写入,说明配置成功。

打开main.c函数,发现之写了一个hal_entry ()函数。

打开hal_entry.c,可以看到在hal_entry函数内,注释着可以在这输入自己的代码。


R_IOPORT_PinWrite()函数原型
  1. fsp_err_t R_IOPORT_PinWrite        (        ioport_ctrl_t *const         p_ctrl,

  2. bsp_io_port_pin_t         pin,

  3. bsp_io_level_t         level

  4. )        
复制代码
说明:Sets a pin's output either high or low. Implements ioport_api_t::pinWrite.
故可以用R_IOPORT_PinWrite()函数进行配置,配置高电平如下所示。
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);

代码
在hal_entry()中添加如下。
  1. void hal_entry(void)

  2. {

  3.     /* TODO: add your own code here */

  4.     while(1)

  5.     {   

  6.         R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); // NOLINT

  7.         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);



  8.         R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); // NOLINT

  9.         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);

  10.     }



  11. #if BSP_TZ_SECURE_BUILD

  12.     /* Enter non-secure code */

  13.     R_BSP_NonSecureEnter();

  14. #endif

  15. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户排行榜

RA助手

主题: 116帖子:134精华:0

RA_Lance

主题: 92帖子:132精华:9

lugl

主题: 43帖子:132精华:0

xujiwei263

主题: 16帖子:73精华:0

books咦

主题: 11帖子:11精华:2

Juggernaut

主题: 9帖子:95精华:0
快速回复 返回顶部 返回列表