Knut schrieb:
> Peter II schrieb:
>> dann schreibe doch mal...
>
> passiert nichts, deswegen habe ich ja gefragt.
>
1 | > if
|
2 | > (
|
3 | > (
|
4 | > (!(PINB &(1<<T_RELEASE))) && (debounce_t_release == AUS)
|
5 | > )
|
6 | > ||
|
7 | > (
|
8 | > (status ==STATE_SHORTCIRQUIT) && (restart_interlock_timer==0)
|
9 | > )
|
10 | > )
|
11 | >
|
>
> wenn ich nun debounce_t_release == AUS gegen
> debounce_t_release = AUS ersetze merkt er es nicht.
>
>
> das hingegen merkt er. Was mache ich denn falsch?
Die Reihenfolge!
if ( x = 5 )
ist etwas anderes als
if ( 5 = x )
das erste ist der Versuch an x den Wert 5 zuzuweisen. Das zweite der
Versuch an 5 den Wert von x zuzuweisen. An 5 kann man nichts zuweisen.
In C-Speak ist 5 kein L-Value. Das ist ein Syntax Fehler, den dir der
COmpiler auf keinen Fall duchgehen lassen wird.
Aber ganz ehrlich: derartige Fehler macht man am Anfang ein paar mal,
dann hat man sich daran gewöhnt einen Vergleich mit == zu schreiben und
dann kommt es nur noch gaaaanz selten vor.