Du solltest dem Code noch eine Klammer mehr spendieren, dann sollte das auch gehen...Code:{ static uint8_t state = 0; static uint8_t channel = 0; // empfangenes Zeichen auslesen uint8_t buffer = UDR; switch (state) { case 0: if (buffer == '<') { state = 1; } else state = 0; break; case 1: if (buffer == 'C') { state = 2; } else state = 0; break; case 2: if (buffer == 'H') { state = 3; } else state = 0; break; case 3: channel = buffer; state = 4; break; case 4: if (buffer == '>') { if (channel == '1') { PORTD = 0b11011111; PORTB = 0b11110111; p_string = ch1; USR |= (1<<UDRE); } if (channel == '2') { PORTD = 0b11111111; PORTB = 0b11101111; p_string = ch2; USR |= (1<<UDRE); } } state = 0; break; default: state = 0; }
Lesezeichen