Erstmal danke für die Antworten!
Ich schreib mal was dazu:
Rufus Τ. Firefly schrieb:
> "lvalue required" bedeutet, daß das, was links von der Zuweisung steht,
> dem Compiler nicht passt. Das dürfte hier TRISA sein. Ist das irgendwo
> definiert?
Ist TRISA nicht, wie PORTA und LATA, in der p18f4550.h enthalten?
Aber das mit der linken Seite von #define stimmt, er meckert bei LCD_A0
Vincent Hamp schrieb:
> Wenn in glcd.h diese Definition drinnen is, dann brauchst du sie in
> Main.c sowieso nicht mehr, da du glcd.h ja einbindest.
LCD_A0 wird in der glcd.h aufgerufen, die Definition hab ich aber nur in
der main.c. Ich dachte mir das es "unsauber" ist wenn ich diese #define
's in die Headerdatei schiebe, weil man die glcd.h auch für andere PICs
verwenden sollte...hab da auch noch den PORT D als #define mit in main.c
(für die Datenpins D0-D7 u.a.) in kleineren PICs gibs aber eventuell
kein D Register IO's.
Vincent Hamp schrieb:
> Ev. kennt glcd.h PORTA nicht, sofern du die P18F... Headerdatei dort
> nicht inkludiert hast.
Stimmt! In der glcd.h hab ich p184550.h nicht included, dachte es langt
im main.c....
Ralph schrieb:
> Verschiebe beide Defines in die Datei glcd.h.
Ok, damit haben schon zwei Leute mir das verschieben in die glcd.h
geraten, das nehm ich mir mal zu Herzen und schau was sich ergibt!
Was ist mit diesem "extern" Deklarationen gemeint?
Könnte ich z.b. in der glcd.h schreiben:
extern <datentyp> <Name>
wenn ich dann als Name LCD_A0 nehm frag ich mich nur was für ein
Datentyp das ist, weil LCD_A0 als PORTAbits.RA1 in #define steht. Und
bit kennt der C18 ja wieder nicht...?
Gruß
Andi