現在のコードだとスタートスイッチを押した時にだけディップスイッチの状態を表示します。
現在:スタートボタン⇒ディップスイッチの状態をLCD表示⇒動作
したい事:ディップスイッチの状態をLCD表示⇒スタートボタン押され待ち⇒ボタンon⇒動作
現在のコードです。
while(1){
if(StartSW == 0){ // スタートスイッチ
if(SwBefore == 0){ // 前回のスイッチ状態
__delay_ms(20);
}
SwBefore = 1;
}else{
if(SwBefore){
__delay_ms(20);
lcd_cls();
switch(PORTD){
case DIPSW1: //DIPスイッチ
lcd_cls(); // LCD画面のクリア
lcd_locate(0,0); // LCDに文字入力
lcd_puts("MODE1");
AL = ON;
__delay_ms(10);
AL = OFF;
break;
case DIPSW2:
lcd_cls();
lcd_locate(0,0);
lcd_puts("MODE2");
AL = ON;
__delay_ms(20);
AL = OFF;
break;
default:
break;
}
}
SwBefore = 0;
}
}
}
while(1){
switch(PORTD){
case DIPSW1: //DIPスイッチ
lcd_cls(); // LCD画面のクリア
lcd_locate(0,0); // LCDに文字入力
lcd_puts("MODE1");
break;
case DIPSW2:
lcd_cls();
lcd_locate(0,0);
lcd_puts("MODE2");
break;
default:
break;
}
}
を実現するにはどうすればいいですか?初心者なので説明をかみ砕いていただいたりヒントになるコードを書いてもらえると助かります。
情報が足りなければ追記します。よろしくお願いします。