Folgendes Szenario: 32bit Controller. 1. c-File
1 | unsigned char val1 = 0; |
2 | unsigned char val2 = 0xFF; |
2. c-File
1 | extern unsigned char val1; |
2 | extern unsigned char val2; |
3 | |
4 | if (val1 == ~val2) |
5 | { STATEMENT_1 } else {STATEMENT_2} |
Nach Abarbeiten des if stell ich fest dass STATEMENT_2 erreicht wurde. Gewünscht hätt ich mir natürlich STATEMENT_1. Durch wildes rumgecaste kann ich das Problem beheben. Kann mir wer sagen wo mein Denkfehler ist? Ich hab eine Vermutung, will aber hier nicht vorgreifen :-)