- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: Warum speichert eeprom nur werte bis 255?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.02.2006
    Beiträge
    221

    Warum speichert eeprom nur werte bis 255?

    1.Bei der ausgabe eines gespeicherten wertes über 255 gibt mir das eeprom nur werte kleiner als 255 aus.
    Warum? Die variablen wurden ja als word angegeben!

    2.Stimmt eigentlich die Schreib- und Leseadresse, die ja nicht übereinstimmen (rot gekennzeichnet, je low und high-adresse)?



    hier der programmtext:

    Dim X As Word
    Dim A As Word
    Dim B As Word
    Dim Lese As Word

    X = 1000

    I2cstart
    I2cwbyte &HA0
    I2cwbyte 1
    I2cwbyte A
    I2cwbyte X
    I2cstop
    Waitms 10

    Print "Speichern: " ; X


    '--- lesen vom EEprom ----

    I2cstart
    I2cwbyte &HA0
    I2cwbyte 1
    I2cwbyte B

    I2cstart
    I2cwbyte &HA1
    I2crbyte Lese , Nack
    I2cstop

    Print "Lesen: " ; Lese
    Waitms 500


    End

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Lese ist zwar als Word deklariert, aber du weist ihm nur ein Byte zu (I2crbyte). Und ein Byte hat eben nur 8 Bit...
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    xxryder:

    ein word besteht aus 2 byte. somit mußt du es erst zerlegen in 2bytes, welche du dann hintereinander schreiben und lesen mußt.

    Bezüglich https://www.roboternetz.de/phpBB2/ze...hlight=#175777

    Irgendwie fängst du von vorn an, wie ich das sehe.
    Bist du schon zu deiner Problematik weitergekommen? Wenn ich glück hab, kann ich deiner Sache evtl. dieser Woche nachgehen. So wie ich das sehe, arbeitet der Source vom Downloadverzeichnis im Byte-Write Modus und sollte deswegen auch funktionieren.

    Datenblatt:
    http://www.tranzistoare.ro/datasheets/400/227040_DS.pdf

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.02.2006
    Beiträge
    221
    Hallo Rage,

    ja da hast du schon recht mit Rückschritt, aber
    vielleicht muss ich von vorne anfangen.
    Ich bin erstmal umgestiegen auf dieses minimalistische Programm, um das Problem der über 32 byte Beschreibung zu ergründen und bin auf dieses Hindernis gestoßen.
    Aber mit diesem Programm kann ich wohl mehr Speicheradressen ansprechen als 32 byte, auf alle Fälle 0-255, das geht.
    Wie die Zerlegung der bytes vonstatten geht, weiß ich leider nicht, ich sollte evtl auch hier nicht weiter dran rumbasteln sondern lieber zusehen, wie ich dein Programm zum laufen bringe.
    Doch kann ich bisher mit dem "device select- durchführen" nichts anfangen.
    Das datasheet habe ich mir schon angesehen, doch komme auch damit nicht klar. Ursache ist wohl - das dürfte feststehen - der page write modus.
    Das ist ja schonmal eine Erkenntnis

Berechtigungen

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

12V Akku bauen