Attila C. schrieb:
> Carl: Wenn der if Teil auskommentiert ist geht es, wie ich bereits am
> Anfang sagte.
Dein Beispiel macht keinen Sinn. Du verwendest
- einen ADC
- "komplexe" Rechenoperationen (~)
- manchen nicht genehme typen etc.
Dein Problem kann ja ausschließlich in der einen Anweisung liegen:
[c]
if(ra>50) {ra=50;}
[c]
Es ist unwahrscheinlich, dass der Compiler dies falsch bearbeitet.
Reduziere also den Code auf das notwendige. Lass ihn z.B. in einer
Schleife mit i=1..100 laufen, mit ra=i am Anfang.
Es wird sich herausstellen, dass
- Du den Code nicht korrekt abgeschrieben hast (z.B. ein Makro hinterm
if, dass würde mit {} behoben)
- Du nach laden mit if (warum auch immer) wirklich nur Werte >=50 hast
- Du den code geladen hast, wo das if noch auskommentiert war, das ra=50
aber schon nicht.
Mit ADC und ~ oder uint irgendwas hat es jedenfalls nichts zu tun.