Display zeigt komische Symbole an...

Hi,

Ich denke das Cassios Tipp mit den Stack Werten ausschlaggebend war.
Ist der Wert von dir jetzt ein Daumenwert gewesen?
Oder kann man das irgendwie berechnen?
Hat das negativen Einfluss wenn die zu hoch sind? Falls nicht, warum sind die dann nicht immer gleich auf Maximum?

Wenn der Speicher noch leer ist und man wenig Programm drin hat dann kann man da auch recht hohe Daumenwerte nehmen. Wenn dann aber einiges an Variablen dazukommt und das Programm wächst, dann muß man da auch schonmal ein wenig knobeln bis das paßt.

Ich hab bei meinem Magierstab einfach mal nen Stackdebugging von Bascom mit reingesetzt. Ist aber noch nicht geflasht. Mal sehen wann ich da Lust zu verspüre. Damit kann man dann genau sehen was verwendet wird und was noch frei ist. Das gibt dann einen guten Anhaltswert wo man noch optimieren kann. Der Debug-Befehl dafür frißt selber aber auch ein wenig SRAM.

Gruß
Dino
 
Genau,

Du hast halt eine begrenzte Menge SRAM (Arbeitsspeicher). Da müssen neben globalen Variablen, Variablen die an Subroutinen übergeben werden, Variablen die in Subroutinen verwendet werden, Variablen, die Bascom selbst benötigt/anlegt (gibts sowas?) und Rücksprungadressen abgespeichert werden können. Gerade bei letzteren kann der Bedarf regelrecht explodieren, wenn aus einer Routine heraus eine Andere aufgerufen wird - insbesonderebei rekursiver Programmierung..
In dieselbe Kategorie gehört auch das sichern der Rechenregister und des SREG in ISRs. Je nach Parameter bei der Festlegung des Interruptvektors (On Interrupt Nosave|Save|Saveall) werden da mehr oder weniger der 33 Register gesichert (Bei mir streikt gerade die Onlinehilfe - mal wieder), was allein da bis zu 33 Bytes Hardwarestack erfordert, dazu dann noch 2 bytes für das return (from Interrupt). Im Allgemeinen kümmert man sich ja da nicht selbst drum, auch wenn man es nach saveall könnte.

Wenn der Controller viel SRAM hat, und Du nicht viel brauchst, kannst Du den natürlich großzügig sinnlos verbraten... ansonsten mußt Du schauen, WO Du knausern kannst, und wo nicht...
 
Ich denke das Cassios Tipp mit den Stack Werten ausschlaggebend war.
Ist der Wert von dir jetzt ein Daumenwert gewesen?
Oder kann man das irgendwie berechnen?


Hallo Tenor!

Um die Angaben im Vorfeld einigermaßen berechnen zu können,
verweise ich nur zu gern auf den Beitrag von Markus! :flowers:

Besser kann es auch kein Lehrbuch erklären! :wink:


Grüße,
Cassio
 
Danke den Beitrag gebe ich mir morgen früh in einer ruhigen Minute, heute Abend
wird das nichts mehr ;)
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)