-         

Ergebnis 1 bis 4 von 4

Thema: Grundsatzfrage: jede Variable als bit dimmen oder 1byte reservieren

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379

    Grundsatzfrage: jede Variable als bit dimmen oder 1byte reservieren

    Anzeige

    Guten morgen liebe Gemeinde!

    Ich habe eine Grundsatzfrage:

    ich habe in meinem Programm einige Variablen die als Bit's gedimmt sind. Um nicht die Ressourcen vom Controller zu verschwenden habe ich ein Byte reserviert und aus dem dann die einzelnen Bits den Variablen zugewiesen. Ist das so ok oder wie ist in der Praxis die Vergabe von Variablen gängige Methode? Welche Möglichkeit gibt es noch der Vergabe und welche Vor- und Nachteile haben diese?

    Dank schon mal für Eure Antwort!

    Nen schönen Tag Euch! MAT

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Wieviel Platz Deine Art verbrät, zeigt Dir Bascom nach dem kompilieren mit STRG+W
    Ich nutze oft Deine Methode:

    Code:
    Dim Evari1 as eram byte
    dim Vari1 as byte
    
    Lichtan alias vari1.0
    Fernbedienung alias vari1.1
    ...
    Das hat den Vorteil, dass ich Werte einfach im EEPROM speichern kann:
    Code:
    evari1=vari1
    und auch einfach wieder laden kann.
    Code:
    vari1=evari1
    Wenn der Controller noch ausreichend Platz hat, nutze ich auch schon mal ein ganzes Byte für ein Bit. Da einige Operationen auf ein Byte schneller durchlaufen als die gleichen Operationen auf ein Bit.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Bei den als BIT gedimmten Werten macht Bascom in seinem Maschinencode letztlich nix anderes als du. Also performancemässig und platzmässig ist das alles eins.

    Nachteil: Bascom versteckt das Byte (od. die Bytes), die er dazu verwendet, und du hast keinen direkten Einfluss, in welchem Byte welches Bit drin steckt.

    Ich persönlich seh keinen wirklichen Vorteil bei den "Gedimmten" Bits.

    Und die Argumente von @peterfido zählen ja auch.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Guten Morgen,

    danke für Eure beiden Aussagen! Die Info ist genau dies was ich für mein Verständnis gebraucht habe!
    Dann ist es beim Arbeiten mit ERam-Variablen der bessere Weg ein Byte zu nehmen und diesem dann gezielt die einzellnen Bits zuzuweisen.
    Gut zu wissen, werde ich in Zukunft mit beachten.

    Dank nochmal & Gruß MAT

Ähnliche Themen

  1. Variable als Parameter oder Return-Value
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.01.2011, 14:33
  2. Register für Variable reservieren
    Von s.frings im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 10.06.2010, 13:57
  3. Antworten: 13
    Letzter Beitrag: 16.10.2009, 01:25
  4. Grundsatzfrage: Config PINx.y oder PORTx.y...?
    Von Jaecko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 19.01.2008, 23:37
  5. [ERLEDIGT] Arrays oder variable Anzahl von Argumenten in Bascom
    Von im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 14.07.2004, 12:32

Berechtigungen

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