Schönen guten Tag,

der Variablen-Watch, den mein AVR Studio Debugger ausgibt, scheint mir sehr konfus:

Code:
uint16_t translateToMa(uint8_t byte)
{
	uint8_t	byte_inverse=0,i=0;
	uint16_t result=0;

	byte_inverse = ~byte;
	
	for(i=0;i!=7;i++)
	{
		if (byte&_BV(i))result |= _BV(i*2);
		if (byte_inverse&_BV(i))result |= _BV((i*2)+1);
		
	}
	return result;
}
Wenn ich über die Schleife steppe, verändert sich byte(!). Ich kann mir das beim besten Willen nicht erklären?!