当方完全にC言語初心者です。
現在課題でスイッチを押し続けてる間押したときに光っていたLEDを点滅させ、スイッチを離したらもう一方のLEDを点灯するという動作のプログラムを作ろうとしているのですが、条件がカウンターを用いてスイッチを離したことを検出し、点灯LEDの切り替えをしろというものです。
この条件がないものであれば作れたのですが、この条件をどのようにクリアしたらいいかわからないのでどなたかお力添え願えないでしょうか?
現在考えてるコードが以下になります。
コメントなどを入れていないためわかりづらいかと思います。。。
現在点滅中消灯状態になるたびにインクリースでカウントしようと考えています。
#include "mbed.h"
#define SW_A D2
DigitalOut led1(LED1);
DigitalOut led2(LED2);
int8_t SW1;
int main()
{
int a = 0;
int b = 0;
int cnt;
// LED initialize
led1 = 1;
led2 = 1;
for(;;)
{
SW1 = LPC_GPIO0->MASKED_ACCESS[(1 << 1)] >> 1;
if( SW1 == 0 )
{
if( a == 0 )
{
//a = 1;
if( b == 0 )
{
led2 = 0;
cnt++;
wait( 0.2 );
led2 = 1;
wait( 0.2 );
}
else
{
led1 = 1;
cnt++;
wait( 0.2 );
led1 = 0;
wait( 0.2 );
}
}
}
else
{
if( a == 1 )
{
if( b == 0 )
{
led1 = 0;
led2 = 0;
b = 1;
}
else
{
led1 = 1;
led2 = 1;
b = 0;
}
a = 0;
}
}
wait( 0.2 );
}
}