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

描述

本文来源于:记帖

概述

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

1硬件准备

这里准备的是芯片型号R7FAM2AD3CFP的开发板。

GPIO

2建立工程

GPIO

3软件准备

GPIO

4保存工程路径

GPIO

5芯片配置

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

GPIO

6GPIO配置

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

GPIO

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

GPIO

7R_IOPORT_PinWrite()函数原型

GPIO

R_IOPORT_PinWrite()函数是对一个Pin脚进行写操作。

左右滑动查看完整内容

 

R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_03_PIN_01,BSP_IO_LEVEL_HIGH);

 

8R_IOPORT_PortWrite()函数原型

GPIO

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

左右滑动查看完整内容

 

//0x0004为设定值,二进制为0100,指的是使能P302,0x0006为mark,即开启的管脚
R_IOPORT_PortWrite(&g_ioport_ctrl,BSP_IO_PORT_03, 0x0004, 0x0006);

 

9完整代码

左右滑动查看完整内容

 

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);


       //0x0004为设定值,二进制为0100,指的是使能P302,0x0006为mark,即开启的管脚        
       R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x0004, 0x0006);        
       R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS);
       R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x0002, 0x0006);        
       R_BSP_SoftwareDelay (100, BSP_DELAY_UNITS_MILLISECONDS)    
       }
#if BSP_TZ_SECURE_BUILD    
/* Enter non-secure code */   
 R_BSP_NonSecureEnter();
 #endif
 }
           

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分