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...
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ß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.