スイッチの状態カウント

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
C素人

スイッチの状態カウント

#1

投稿記事 by C素人 » 2ヶ月前

「スイッチが押されたことをカウントし、
カウントされた値に応じて異なる処理をする。」

スイッチは、押しボタンスイッチなので、押された瞬間は0となりますが、
手を離したあとは、すぐに1となります。
そのため、前の状態を保持するようにして、スイッチの状態変化を見ながら、押しボタンが押された回数をカウントしています。


次のコードでテストしていますが、うまく動作してくれません。

コード: 全て選択

	if (remote_sw==0){
			sw=0;
		}
		else {
			sw=1;
		}

    	if(prev_sw != sw && sw== 0){
           	Count++;
		}
			prev_sw = sw;	
		x = Count % 5;

	switch(x){
		case 0:
			LED_1=1;
			LED_2=0;
			LED_3=0;
			LED_4=0;
		case 1:
			LED_1=0;
			LED_2=1;
			LED_3=0;
			LED_4=0;
		case 2:
			LED_1=0;
			LED_2=0;
			LED_3=1;
			LED_4=0;
		case 3:
			LED_1=0;
			LED_2=0;
			LED_3=0;
			LED_4=1;
		case 4:
			LED_1=0;
			LED_2=0;
			LED_3=0;
			LED_4=0;
	}

C素人

Re: スイッチの状態カウント

#2

投稿記事 by C素人 » 2ヶ月前

解決できました。
すみません。
switch文にbreakを忘れていました。

返信

“C言語何でも質問掲示板” へ戻る