Datum: 04.04.2008 17:57
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...
Datum: 05.04.2008 01:02
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
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel