本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输出,并以LED显示。
首先需要准备一个开发板,这里我准备的是芯片型号R7FAM2AD3CFP的开发板:
本文中使用R7FAM2AD3CFP来进行演示。
由下图我们可以得知,板子上有2个LED灯,同时需要给高电平才可以点亮,故以P301和P302管脚为例,配置方式如下所示。
在e2studio中可以直接设置P301为输出口。
故可以用R_IOPORT_PinWrite()函数进行配置,配置高电平如下所示。
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);
R_IOPORT_PortWrite()函数是对一个Port的所有Pin脚进行写操作。
//0x0002为设定值,0x00ff为mark,即需要开启的管脚
R_IOPORT_PortWrite(&g_ioport_ctrl, BSP_IO_PORT_03, 0x0002, 0x00ff);
在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, 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
}
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !