WinAVR Bitzuweisung

Gast #1041466
Hallo Zusammen,

ich versuche gerade, da die Lizenz von ISP ablauft auf WinAVR
umzusteigen. Soweit ok, nur tritt hier ein Fehler auf
Bitzuweisung.
1
#define LCDDATA0  PB0
2
#define LCDDATA1  PB1
3
#define LCDDATA2  PB2
4
#define LCDDATA3  PB3
5
#define LCDDATA4  PB4
6
#define LCDDATA5  PB5
7
#define LCDDATA6  PB6
8
#define LCDDATA7  PB7
9

10
data = 0x38;
11

12
LCDDATA0 = data;
13
LCDDATA1 = data >>1;
14
LCDDATA2 = data >>2;
15
LCDDATA3 = data >>3;
16
LCDDATA4 = data >>4;
17
LCDDATA5 = data >>5;
18
LCDDATA6 = data >>6;
19
LCDDATA7 = data >>7;
1
LCDDATA1 = data >> 1

ergibt immer einen Fehler, kann ich das einfach
mit
1
LCDDATA2 |= (2 << data)

übersetzen, und ebenso dann auch
1
LCDDATA0 = data;

zu
1
LCDDATA0 |= (0 << data)

???

Wohl nicht oder. Weiß jemand wie hier die richtige Syntax für
WINAVR wäre?

Danke & Viele Grüße aus Neuss
ABSimon
Gast
>LCDDATA1 = data >> 1

Ja, muss ja eine Fehler geben.
LCDATA1 ist ja mit PB0 gleichgesetzt.

Und PB0 wurde mit 0 definiert. Also steht da:

>LCDDATA1 = data >> 1

    0     = 0x38>>1 = 0x19

Und das stimmt ja nicht.
Gast
Hi,

hatte ich vergessen, vorab wird
1
DDRB  = 0b11111111;
2
PORTB = 0b11111111;

gesetzt. Dieser Fehler wird ausgegeben:
1
error: lvalue required as left operand of assignment

"Linker Wert erforderlich beim linken Zuweisungs-Operanden."

Kennt das jemand, was mache ich falsch, wie werden ansonsten
bei Variablen einzelne Bits anderen Variablen zugewiesen.

Danke & Viele Grüße
ABSimon

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.