- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: 10bit hochzählen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    19

    10bit hochzählen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo!

    Ich möchte gerne 10 bit hochzählen

    also..:

    0000000000
    0000000001
    0000000010
    usw..

    und anschließend jeden ziffer als einzelnes Bit haben..!

    Hat jemand eine Ahnung wie das gehen könnte??


    mfG Torben

    Danke für jede Hilfe!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    dim temp_word as word at &hd0
    dim low_byte as byte at &hd0 overlay
    dim high_byte as byte at &hd1 overlay
    dim bit_0 as bit
    dim bit_1 as bit
    etc. bis
    dim bit_10 as bit

    do
    incr temp_word
    if temp_word >1023 then temp_word=0

    bit_0 = low_byte.0
    bit_1 = low_byte.1
    etc. bis
    bit_10 = high_byte.1
    loop
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Servus,

    ich hoffe das von mir eben geschreieben Beispiel hilft dir weiter, ich teste einfach aufgrund der Byte-Position und der Bit-Position in einem Array die relevante Zahl.

    Code:
    Dim Output(128) As Byte 
    Dim InWert      As Word
    Dim BitWert     As Byte 
    Dim ByteWert    As Byte 
    Dim TmpByte     As Byte
    Dim n           As Byte
    
    InWert = {DeinWert} 
    
    BitWert = InWert Mod 8
    ByteWert = Int(InWert) + 1
    
    For n = 1 To 128
      If n = ByteWert Then
        TmpByte.BitWert = 1
        Output(n) = TmpByte
      Else
        Output(n) = &h00  
      End If
    Next n
    Danach steht dir jedes Bit als Ergebniss in Byte und Bit in der Form:

    Zustand 0: If Output(1).0 = 1 Then ...
    ...
    Zustand 1023: If Output(12.7 = 1 Then ...

    zur Verfügung.

    Grüße Wolfgang

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113

    Re: 10bit hochzählen

    Zitat Zitat von Torben22
    Ich möchte gerne 10 bit hochzählen
    Also hast du eine Word-Variable, die du hochzählst.

    Zitat Zitat von Torben22
    und anschließend jeden ziffer als einzelnes Bit haben..!
    Jedes bit kannst du über
    MyVariable.MyBit adressieren.
    MyBit kann bei einer Word oder Integer Variablen von 0 bis 15 gehen.
    Das geht auch mit Long, dann kann MyBit von 0-31 sein.

    Wofür du da ein Array brauchen solltest mit 1024 If-Abfragen oder ein Overlay (besonders mit festen Adressen) sehe ich nicht.

    Gruß

    Rolf

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851

    Re: 10bit hochzählen

    Zitat Zitat von for_ro
    Wofür du da ein Array brauchen solltest mit 1024 If-Abfragen oder ein Overlay (besonders mit festen Adressen) sehe ich nicht.
    ...
    Jedes bit kannst du über
    MyVariable.MyBit
    adressieren.
    Ist sehr gut möglich das er das meint was du beschreibst und will wirklich nur die 10 Bits im Word einzeln zugreifen. Ist nicht so eindeutig geschrieben was "Ziffer" sein soll. Dann ist Dein Ansatz natürlich der korrekte in dem Fall. Ich habe eben ohne Overlay den Code entworfen, weil Overlays schnell das Chaos auslösen wenn man nicht wirklich fit ist.

    Grüße Wolfgang

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress