The following does not work (ACC is always 0, despite out[0] is 255): ACC0 = out[0] & 1 == 1 ? 1 : 0; ACC1 = out[0] & 2 == 2 ? 1 : 0; out[0] &= 0xFC; send_string(" acc1"); send_byte(ACC); if (ACC0) out[0] |= 2; if (ACC1) out[0] |= 1;
Thank you, I've solved it this way: temp1 = out[0] & 0xFC; switch (out[0] & 3) { case 1: out[0] = temp1 | 2; break; case 2: out[0] = temp1 | 1; };