if not executed, but true
Hi,
if you declare value_1 as uint16_t value_1;
as your message implies, your code works as expected: the possible values for value_1 goes from -32768 to 32767, so can never be greater than 32767!...
In fact your code is useless: 16-bit twos-complement arithmetic implies that the values for value_1 wraps from 32767 to -32768 automatically as you are working in modulo 65536 arithmetic. Note that this also means that value_1 -= 32768;
is in fact a No-Operation!
Hope this helps,
Bernard (Ac6)