Hallo! Ich steck grad bei einem kleinen Problem mit den queues im FreeRTOS. Ich habe eine Schlange, in die Abtastwerte aus dem ADC reingeschrieben und in einer anderen Task wieder ausgelesen werden (256 Samples). Mein Problem ist, dass ich zwar alle 256 Samples erfolgreich empfange, danach aber keine neuen Samples in den FIFO eingefügt werden können, da ich dann immer den QueueFull Fehler erhalte. Wird durch das Auslesen aus einer Queue nicht automatisch wieder ein Platz in dieser frei?
Kommt drauf an. Laut Doku gibt es 2 Funktionen dafür Receive entfernt das Objekt aus der Queue Peek entfernt das Objekt nicht aus der Queue http://www.freertos.org/a00018.html
Hmm seltsam.. Ich benutze in meiner Task auch xQueueReceive(...) und trotzdem wird kein Platz frei.
>xQueueReceive(...) > >und trotzdem wird kein Platz frei. Wie sehen die beiden Tasks aus? Wenn die Queue schneller gefüllt als geleert wird, dann gibt es auch irgendwann QueueFull Fehler.
Ja ich weiss, aber ich deaktiviere die ADCs nach 256 abgeholten Werten und aktiviere diese erst wieder, wenn die beiden Queues komplett ausgelesen und die Daten verarbeitet wurden. Ich überprüfe grade erstmal nochmal genau die Indizes meiner Vektoren etc. Wahrscheinlich habe ich doch irgendwo einen anderen Fehler. Ich melde mich später nochmal.
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.