先启用RASC创建一个图形化配置的工程,设置按钮P015为输入,并配置上拉电阻
再启用P103和P104为输出模式
然后在entry函数完成以下内容
void hal_entry(void)
{
bsp_io_level_t button_stat;
uint32_t DELAY=500;
/* TODO: add your own code here */
while(1)
{
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_HIGH);
R_BSP_SoftwareDelay (DELAY, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay (DELAY, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinRead (&g_ioport_ctrl, BSP_IO_PORT_00_PIN_15, &button_stat);
if(button_stat==BSP_IO_LEVEL_LOW)
{
while(button_stat==BSP_IO_LEVEL_LOW){R_IOPORT_PinRead (&g_ioport_ctrl, BSP_IO_PORT_00_PIN_15, &button_stat);}
DELAY=DELAY/2;
if(DELAY<=2) DELAY=500;
}
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
我们看,这个PIN读取函数的返回值并非是IO的状态,你需要创建一个变量来存储这个状态,每次执行读取,就将这个状态存储的地址给这个读取函数,它读出来就放到你这个变量里。。。这跟其他厂家的比,感觉有点不习惯啊。
|