Hallo!

So meine Code-Restaurierung/Umstrukturierung geht los. Also Problem. Hab mal Code geschrieben und das so ziemlich auf: Es muss nur funktionieren. Mittlerweile schau ich mir den wieder an, will was umändern und es fällt mir auf, uff, da muss man sich ja erst wieder einlesen.
Also hab ich mir gleich gedacht, ich strukturier die Bezeichnungen meiner Portpins neu, mit denen ich arbeite. Problem diesmal ist, dass eben an einem Port nicht nur mein LCD (im 4 Bit Mode) hängt, sondern auch andere sachen. Und ich damals ziemlich wüst gleich den ganzen Port neu gesetzt hab, weil ich eben die anderen 4 Pins nicht gebraucht hab. Also muss ich mir das alles anschauen und umbessern. Und dabei dacht ich gleich an weitere Verbesserungen.
Also ich schreib mal zusammen was ich so wollte:
1: bessere Bezeichnungen für jeden Pin, wenn ich mal separat nur einen Pin -> gut war nicht schwierig
2: neue Strukturen herstellen, damit ich einige Pins zusammenfasse und damit auf die zugreifen kann aber nicht andere störe.

Und da hakts jetzt ein bisschen:

ich hab mir die schreiberei aus den anderen Files von Microchip rausgesucht und mal gut glück versucht obs geht:


Code:
extern volatile near unsigned char       LATA;
extern volatile near struct {
  unsigned LATA0:1;
  unsigned LATA1:1;
  unsigned LATA2:1;
  unsigned LATA3:1;
  unsigned LATA4:1;
  unsigned LATA5:1;
  unsigned LATA6:1;
} LATAbits;
Hab ich dann daraus gemacht:

Code:
extern volatile near struct {
  unsigned LATA0:1;
  unsigned LATA1:1;
  unsigned LATA2:1;
  unsigned LATA3:1;
} LCD_DATA;
und die wollt ich dann halt mit
LCD_DATA = 0x3 oder irgendwas ansprechen. Wär ja hübsch. Kann ich nur die wirklich gewünschten bits ändern und nix falsch machen. Künstlich auf 8 bits aufblasen das struct funktioniert auch nicht.

hat da wer eine Ahnung?

lg,
theo