RAマイコンを使ってみよう~Lチカ編~の続きです。
今回は、スイッチを使ってみましょう。
ピン設定を確認する
P205 がスイッチに繋がっています。
Configuration を見ると SW1 になっています。
Developer Assistance から R_IOPORT_PinRead を探しプログラムに貼り付けます。
R_IOPORT_PinRead(&g_ioport_ctrl, SW1, &SW1_status) とプログラムを修正します。
ただし value が規定されていません。
bsp_io_level_t SW1_status を追加します。
次に、 Status に応じてプログラムを構成します。
SW1 の Status に応じてLEDが点滅するようにします。
sw1 と入力すると補完で sw1_status が出てきます。
void hal_entry(void)
{
/* TODO: add your own code here */
while(1){
bsp_io_level_t SW1_status;
R_IOPORT_PinRead(&g_ioport_ctrl, SW1, &SW1_status);
if(SW1_status){
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_HIGH );
}else{
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_LOW );
}
R_BSP_SoftwareDelay(3, BSP_DELAY_UNITS_MILLISECONDS);
}
}
LED2の追加
プログラム
void hal_entry(void)
{
/* TODO: add your own code here */
while(1){
bsp_io_level_t SW1_status;
R_IOPORT_PinRead(&g_ioport_ctrl, SW1, &SW1_status);
if(SW1_status){
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_HIGH );
R_IOPORT_PinWrite(&g_ioport_ctrl, LED2,BSP_IO_LEVEL_LOW );
}else{
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_LOW );
R_IOPORT_PinWrite(&g_ioport_ctrl, LED2,BSP_IO_LEVEL_HIGH );
}
R_BSP_SoftwareDelay(3, BSP_DELAY_UNITS_MILLISECONDS);
}
}