- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: Arrayzugriff / mehrdimensionale Arrays ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.09.2007
    Ort
    Oldenburg
    Alter
    50
    Beiträge
    80

    Arrayzugriff / mehrdimensionale Arrays ?

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe ein kleines Problem zu bewältigen. Ich habe in meiner Software sechs Bytearrays(16), in welchen für 16 unterschiedliche Anbauteile jeweils die Details für 6 Ausgänge gespeichert werden.

    Nun muss ich das Anbauteil wählen, dann den zu programmierenden Ausgang wählen und dort jeweils Bits klappern. Das Anbauteil liegt in Form einer Bytevariable 1..16 vor, also kein Problem. Der zu verändernde Ausgang liegt ebenfalls in einer Bytevariable 1...6 vor. Nun kann ich aber leider nicht mit der Zahl auf den Arraynamen schließen, denn die heißen ausgang1(16), ausgang2(16) usw.

    Ich kann und will auch nicht bei allen Codeteilen endlose if/then-Abfragen einbauen. Hat jemand eine Idee, wie es besser geht ?

    Gruß Skragan
    Alles wird gut... Gruß Alex

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Sind die Daten alle fest, also bei Programmstart im Speicher vorgegeben, oder werden die im Laufe des Programms geändert?

    Falls ersteres könnte die Befehlskombination DATA und RESTORE interessant sein.
    #ifndef MfG
    #define MfG

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Hi, Skragan,

    tu' die Daten doch einfach in ein einziges Array, nennen wir's mal PortDaten(96). Die Dimension ist 6*16=96. Da schreibst Du der Reihe nach die Daten für alle 16 Anbauteile in Reihenfolge aufsteigender Anbauteil- und Portnummer 'rein. Den Zugriff auf das Array machst Du über eine Variable "AnbauTeilNr" (Wertebereich 0 bis 15) und die Portnummer( Wertebereich 0 bis 5). Beispiel: Du hast Anbauteil Nr. 4 und willst die Portdaten für Port Nr. 10 auslesen:

    AnbauTeilNr = 4
    Daten = PortDaten[AnbauTeilNr*16+10].

    Meiner Meinung nach müsste es so gehen.

    Ciao,

    mare_crisium

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    25.09.2007
    Ort
    Oldenburg
    Alter
    50
    Beiträge
    80
    @Jaecko: Die Daten werden zwar zum Start einmal befüllt, danach aber oft wieder geändert.

    @mare: -.- Na klar, das werde ich mal testen - sollte gehen !

    Danke !
    Alles wird gut... Gruß Alex

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen