- LiTime Speicher und Akkus         
Ergebnis 1 bis 6 von 6

Thema: Byte Variable - out of SRAM space

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    34
    Beiträge
    324

    Byte Variable - out of SRAM space

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich programmiere mienen attiny13 zZ. mit Bascom und da klappt auch ganz gut. Nur wenn ich versuche eine Variable vom Typ Byte zu deklarieren

    Code:
    dim n as byte
    bekomme ich sofort den Fehler: "Out of SRAM Space", obwohl doch selbst ein attiny 13 Problemlos einen einziges Byte Speicher aufbringen können sollte. Im Beispielprogramm vom Lernpaket funktioniert das auch. Nur wenn ich den Code von da 1:1 kopiere klappts trotzdem nicht. Muss man da noch irgendwelche konfigurationen treffen, die nicht im Code selbst liegen?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Der tiny13 hat keinen RAM, daher kannst du auch keine Variablen darin ablegen. Schau mal hier: https://www.roboternetz.de/phpBB2/vi...2ffcde1d373e06

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    34
    Beiträge
    324
    aber das Beispielprogramm aus dem Lernpaket Mikrocontroller funktioniert doch auch Irgendwie muss es dann doch gehen. Wenn ich nicht nur die .bas Datei des Beispielordners kopiere kann ich es auch kompilieren

    => Irgendwo in den anderen Projektdateien muss besagtes Problem geregelt werden - es gibt:

    .bas
    .bin
    .bm
    .cfg
    .dbg
    .obj
    .hex
    .rpt

    Dateien - Weis jmd welche es ist, die mein Problem behebt?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von stefan_Z
    Der tiny13 hat keinen RAM, daher kannst du auch keine Variablen darin ablegen. Schau mal hier: https://www.roboternetz.de/phpBB2/ze...2ffcde1d373e06
    Im Gegensatz zu dem von Dir erwähnten Fred (mit dem Tiny12) verfügt der Tiny13 über 64 Byte Ram in dem man sehr wohl Variablen ablegen kann.

    Vielleicht ist Dein Hardwarestack so hoch eingestellt dass kein Platz mehr für Variablen übrig ist.

    Füg mal folgende Zeile oben in Deinem Programm ein:
    $hwstack = 22

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    34
    Beiträge
    324
    Ok, jetzt klapts - kannst du mir villeicht noch erklären, was der Hardwarestack ist?

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von Barthimaeus
    Ok, jetzt klapts - kannst du mir villeicht noch erklären, was der Hardwarestack ist?
    Der Hardwarestack ist ein reservierter Speicherbereich.
    Dort werden z.B. die Rücksprungadressen für Gosub-Befehle zwischengespeichert. Je mehr verschaltelte Gosub-Sprünge man im Programm hat umso mehr Stack muss man hierfür reservieren.
    Dieser Speicher steht dann für Variablen nicht mehr zur Verfügung.
    Standardmäßig ist dieser bereits voreingestellt. Je nachdem wieviel Variablen man im Programm hat kann es dann (wie in deinem Fall) nicht mehr reichen und man muss ihn händisch anpassen.

Berechtigungen

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

LiTime Speicher und Akkus