先启用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的状态,你需要创建一个变量来存储这个状态,每次执行读取,就将这个状态存储的地址给这个读取函数,它读出来就放到你这个变量里。。。这跟其他厂家的比,感觉有点不习惯啊。
|