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;
}
Gast
#1721056
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
Gast
#1721065
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
Gast
#1721071
Davon abgesehen, dass "PIN" für die Abfrage von Eingängen dient.
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
Bitte melde dich an, um einen Beitrag zu schreiben.