MSP430 Stack zu 100% voll

Gast #833496
Lesenswert?
• ▲
▼
hallo,
habe folgendes problem:
mein msp nimmt daten über die serielle schnittstelle entgegen. die so 
kommenden daten halte ich in einer verketteten liste. kommt ein zeichen 
an wird es in der isr in die liste gepackt. im hauptprogramm werden die 
einzelnen zeichen per funk an einen anderen msp gesendet, welcher diese 
ausgibt. dabei wird jedes zeichen einzelen aus der liste genommen, das 
objekt aus der liste gelöscht (speicher wird auch wieder freigegeben) 
und übertragen (ich weiß nicht sehr effektiv...)
mit einzelnen zeichen funktioniert das alles ohne probleme. aber sende 
ich un einen string mit einer bestimmten größe an den msp, dann bekomme 
ich die meldung dass der stack, 200byte, zu 100% voll ist. danach 
stürtzt das programm entweder ab oder läuft weiter oder macht was es 
will ;)

wie kann das sein? alle übergabeparameter sind pointer und zu den 
rücksprung adressen wird auch wieder zurückgekehrt...
Gast #833752
Lesenswert?
• ▲
▼
Wie machst Du das mit dem Speicher freigeben? etwa mit malloc und free ?
Würde Dir dringend raten das mit einem festen Puffer zu machen. Einfach 
mal nach FIFO googlen oder hier im Forum schauen.
So wie Du das machst ist das ein echter Overkill...

Gruß

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.