- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 26

Thema: Fehler in For-Schleife mit I2C Kommunikation

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #6
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von uffi Beitrag anzeigen
    Sehe ich das richtig, dass der Compiler von den 1kByte SRAM 570 Bytes für die Variablen reserviert?
    Nein, 584 Bytes. Und das sind nur die statischen Variablen.

    Zitat Zitat von uffi Beitrag anzeigen
    Dann müßte der Stack aber schon sehr lang werden, damit das die Ursache für den Fehler sein kann...
    Ja, wird er ja aber auch. Allein mit der Variable "distRAM" belegst du 512 Bytes auf dem Stack. Und schon bist du über den 1024 Bytes.


    Da du ja wohl kaum die Funktion main rekursiv aufrufen willst, solltest du als erstes mal die lokalen Variablen dort static machen. Dann sind sie vom Stack runter und tauchen mit in der Auflistung vom Compiler auf. Das gibt dir etwas mehr Überblick. Dann reduzierst du den RAM-Verbrauch, indem du alle konstanten Strings ins Flash verbannst. Und dann sehen wir weiter.

    Und mal so nebenbei:
    Dieses SREG-Gefummel in den ISRs ist völlig überflüssig. Darum kümmert sich der Compiler.
    Geändert von sternst (15.03.2011 um 16:34 Uhr)
    MfG
    Stefan

Berechtigungen

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

Labornetzteil AliExpress