Verriegelung und lvalue-Fehler

OP #2839045
Lesenswert?
• ▲
▼
hallo leute,

ich hab folgende struktur:
1
if ((Start) && !(RefPunkt_IND1) && !(RESERVE_IND1))              // Taster Start verriegelt gegen RefPunkt und Reserve
2
      { PROG_IND1; }

beim übersetzen bekomme ich die fehlermeldung:
Error: lvalue required as left operand of assignment

ich werd aber nciht schlau aus dem fehler.


was ich will ist eine verriegelung:
wenn taster gedrückt und nicht pin 1 und nicht pin 2 dann tu irgendwas

Start, Refpunkt_IND1 und RESERVE_IND1 und prog_int1 sind definitionen 
und so definiert:
1
#define bedienpanel PIND              // Ausgangsport D
2
#define Start bit_is_clear(bedienpanel,3)    // Taster-Start                           
3

4
#define RefPunkt_IND1 PORTB|=(1<<2)          // Referenzpunktfahrt LED an
5
#define RefPunkt_IND0 PORTB&=~(1<<2)        // Referenzpunktfahrt LED aus
6

7
#define  RESERVE_IND1 PORTB|=(1<<3)          // RESERVE LED an
8
#define  RESERVE_IND0 PORTB&=~(1<<3)        // RESERVE LED aus

und noch eine frage zwecks programmierung:

z.b. #define RefPunkt_IND0 PORTB&=~(1<<2)
kann man das irgendwie umschreiben, dass es auch funktioniert mit 
leerzeichen?

-> #define RefPunkt_IND0 PORTB &= ~(1<<2)  <- so würde ich das 
normalerweise schreiben

gruß sven
OP #2839066
Lesenswert?
• ▲
▼
Prog_IND1 ist ein port -> PROG_IND1 PORTB|=(1<<1)

dachte der wäre für den Fehler hier unwichtig.

Wie kann man es denn umschreiben mit leerzeichen? weil übersetze ich es 
MIT leerzeichen funktioniert es nicht!


./. schrieb:
> Das sind Zuweisungen und keine Abfragen, also immer wahr, bzw. falsch
> (da negiert).

ich möchte ieg abfragen, ob ein pin gesetzt ist oder nicht, also ist
RefPunkt_IND1 = 1 oder nicht.

aber ich glaube ich seh das problem. ich rage eine zuweisung ab, nicht 
den status vom pin

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.