mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler im Programm (Grundlagen mC Programmierung)


Autor: Hüseyin Aydingünes (husox81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

unter diesem CODE kriege ich diese Fehlermeldung:
- "lvalue required as left operand of assignment"

Wo liegt der Fehler???

Danke im vorraus!

husox81



#include <avr/io.h>


// Definitionen E/A
#define EINGANG      PORTA
#define E0        (1<<PA0)
#define E1        (1<<PA1)
#define E2        (1<<PA2)
#define E3        (1<<PA3)
#define E4        (1<<PA4)
#define E5        (1<<PA5)
#define E6        (1<<PA6)
#define E7        (1<<PA7)

#define AUSGANG      PORTB
#define A0        (1<<PINB0)
#define A1        (1<<PINB1)
#define A2        (1<<PINB2)
#define A3        (1<<PINB3)
#define A4        (1<<PINB4)
#define A5        (1<<PINB5)
#define A6        (1<<PINB6)
#define A7        (1<<PINB7)

// Definitionen Befehle
#define FALSE      0
#define TRUE      1

// Hauptprogramm
int main (void)
{

  DDRA   = 0x00;
  DDRB   = 0xff;
  PORTB   = 0xff;

     while(1)
     {
       if (E0 == TRUE)
    {
      A0 = TRUE;
    }

    else if (E0 == FALSE)
    {
      A0 = FALSE;
    }
     }


     return 0;
}

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hüseyin Aydingünes schrieb:
> - "lvalue required as left operand of assignment"

Vielleicht verrätst du uns auch noch, in welcher Zeile der Fehler 
auftritt.

Oliver

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich rate mal: Zeile 42!

(Tatsächlich ists ab Zeile 41.. schade, hätte fast gepasst).

> #define A0        (1<<PINB0)
[..]
> A0 = TRUE;

So wird das nix, versuchs mal mit
  PORTB |= A0;

HTH

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Davon abgesehen, dass "PIN" für die Abfrage von Eingängen dient.

Autor: Christian D. (chris83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du willst hier den Zustand des Ports abfragen der natürlich  als Eingang 
geschaltet sein sollte.
In deinem Code versuchst du allerdings
(1<<PINB0) den Wert 1 zu zuweisen.
Was natürlich nicht geht.

Falls du aber ihn als Ausgang nutzen willst ist (1<<PINB0) die faschle 
Wahl, dafür ist (1 << PB0) zuständig

Grüße

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.