RA4M2-SENSOR开发板配有LED和按键,利用它可进行GPIO口的输入输出测试,其电路见图1所示。


图1 LED和按键电路
为实现以按键控制LED灯,需在RASC中对所用引脚加以配置并生成Keil工程。
其中,按键的引脚被配置为输入模式,LED的引脚被配置为输出模式,见图2和图3所示。

图2 LED配置

图3 KEY配置
随后是生成Keil工程,并在主程序中添加相应代码使其内容为:
void hal_entry(void)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
while(1)
{
if(R_BSP_PinRead(BSP_IO_PORT_01_PIN_11)==BSP_IO_LEVEL_LOW)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_HIGH);
}
else
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
}
if(R_BSP_PinRead(BSP_IO_PORT_01_PIN_12)==BSP_IO_LEVEL_LOW)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
}
else
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
}
if(R_BSP_PinRead(BSP_IO_PORT_00_PIN_13)==BSP_IO_LEVEL_LOW)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
}
else
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
}
}
}
经程序的编译和下载,即可实现按键对LED灯的对应控制。
|