- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: 2 Bytes zu word zusammenfassen ?

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    60
    Beiträge
    1.080
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Andersrum, DerMaddin ...

    Geht das mit dem Overlaydimensionieren nicht in C? Das geht nämlich noch schneller als das Shiften

    Meine Meinung: Bascom ist DAS BESTE (wenn man zu gegebener Zeit hier und da ein wenig Assembler einstreut, man wie ich C-Legastheniker ist und Basic schon mit der Muttermilch kurz nach Mitte des letzten Jahrhunderts eingesogen hat *g*)

    Das mit Overlay nutze ich häufig und spart einem einiges an Arbeit. Das es aber auch mit AT [Variablenname] geht, das war mir neu. Dieses Forum ist wirklich unbezahlbar.
    Mein Hexapod im Detail auf www.vreal.de

  2. #12
    dl1akp
    Gast
    Hallo Leute,

    danke für die schnelle Hilfe! SUPER!!
    Habe die Methode nach phyton_rocks und rofo88 probiert.

    Mfg. dl1akp

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Zitat Zitat von DerMaddin
    Das geht in Bascom nicht? Ja, ich bin C Progger.
    Hallo Der Maddin!

    Falls es dich interessiert. In Bascom nimmt man dafür den Befehl SHIFT. Aber das direkte Schreiben in den Speicher mit OVERLAY ist schneller, da nichts verschoben oder berechnet werden muss.

    mfg
    Gerold
    :-)

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    50
    Beiträge
    381
    @All,

    ich nutze auch die Overlayfunktion aber nur aus "Fremndcode" und biun noch nicht so richtig durchgestiegen. Kann mir jemand mal Overlay und das AT erklären?

    und zu MeckPommER: Damit hast Du wohl sehr recht: das Forum ist wirklich unbezahlbar und die Leute die einem helfen ersteinma....

    MAT

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    45
    Beiträge
    689
    @mat-sche

    ok ich versuche es mal

    Dim X as Word-> belegt im RAM 2 Byte um die Variable x da zu speichern ( 2 Byte weils ne Word-Variable ist, wenn da Long steht sinds 4 Byte und bei nem String noch mehr | die Position wo das im RAM steht ist nicht definiert und wird vom Compiler festgelegt)

    Dim X as Word at $60-> macht das selbe wie oben nur das der Speicherplatz im RAM festgelegt ist (fängt halt bei $60 an) und nicht mehr vom Compiler bestimmt wird

    Dim y As Byte At X Overlay-> legt fest das auf dem Speicherplatz von X (2 Byte) auch noch Y liegt (1 Byte) somit ist es möglich von der Word-Variable nur ein Byte manipolieren

    Also das Overlay sagt aus das der Speicherplatz mehrfach belegt ist und das at an welcher Stelle der Speicherplatz ist

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    50
    Beiträge
    381
    hallo Rofo,

    danke für Deine, mir verständliche, Erläuterungg !
    Jetzt kann ich mir auch einige Sachen erklären!

    MAT

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164
    einfach die beiden bytes in eine wordvariable(adresse vorher ausmachen) und reinpoken, fertig.

  8. #18
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Zitat Zitat von sechsrad
    einfach die beiden bytes in eine wordvariable(adresse vorher ausmachen) und reinpoken, fertig.
    Hallo sechsrad!

    Du meinst mit VARPTR http://avrhelp.mcselec.com/index.html?varptr.htm die Adresse herausfinden und mit POKE http://avrhelp.mcselec.com/index.html?poke.htm zuerst die herausgefundene Adresse und dann die "Adresse + 1" beschreiben?

    Ich kenne mich noch nicht so gut mit Bascom aus. Aber in der Hilfe zu POKE steht nur etwas von den Registern 0-31.

    Aber ich werde es dann noch ausprobieren. Man will ja lernen.

    mfg
    Gerold
    :-)

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Zitat Zitat von python_rocks
    Aber ich werde es dann noch ausprobieren.
    Hallo!

    Ich bekomme beim Kompilieren dieses Beispiels
    Code:
    $regfile = "M8def.dat"
    $crystal = 8000000
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    $baud = 9600
    
    Dim Wordvar As Word
    Dim Address As Word
    
    
    Wordvar = 200
    Print "Old Wordvar:" ; Wordvar
    
    Address = Varptr(wordvar)
    Print "Address:" ; Address
    
    Poke Address , 255
    Poke Address + 1 , 255
    
    Print "New Wordvar:" ; Wordvar
    
    
    End
    den Fehler
    "Error : 200 Line: 24 .DEF not found [R98 [adddr]] , in File..."

    Wenn ich die POKE-Zeilen auskommentiere, dann bekomme ich als Ausgabe des laufenden Programms das hier:
    Code:
    Old Wordvar:200
    Address:96
    New Wordvar:200
    mfg
    Gerold
    :-)

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164
    poke haut glaube ich nicht so hin !

    mach das am besten so :

    Dim b1 as Byte at $60 OVERLAY
    Dim b2 as Byte at $61 OVERLAY

    b1=1
    b2=2

    lo und hi-byte dort reinpacken.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests