勉強がてらポートBの入力状態を判断して出力パターンを決めるプログラムを作ってみたところ
switch文の条件式(PORTB)から抜け出せません。
質問①
この記述の仕方は違うのでしょうか?
正しい記述方法を教えてください。
質問②
いちいち出力パターンの関数を作ってるのですが
このやり方が正しいのかどうかわかりません。
もっと簡単な記述方法があったら教えてください。
void main(void) {
TRISB = 0b11111111;
PORTB = 0b00000000;
while(1){
switch(PORTB){
case 0b00000001: PATTERN0; break;
case 0b00000010: PATTERN1; break;
//本当は8パターンあるが省略
}
}
return;
}
void PATTERN0(void){
while(1){
PORTAbits.RA0 = 1;
__delay_ms(500);
PORTAbits.RA0 = 0;
__delay_ms(500);
}
}
void PATTERN1(void){
//省略
}