Forum: Mikrocontroller und Digitale Elektronik pdTRUE Abfrage Queue


von Florian S. (sirius7)


Lesenswert?

Hallo,

habe im Programm, die ich analysieren soll eine unklare Stelle nähmlich
1
while(PdTrue==xQueueReceive(Queue1,data++,portMax_Delay)); //data ist Array data[8];
vorausgesetzt in Queue1 sind 2 Zeichen drin, so dass PdTrue wahr ist, 
wie ist diese Stelle zu handhaben? bleibt das Programm hier hängen, oder 
werden die Zeichen aus der Queue gelesen und dann gehts weiter? eine 
ziemlich schwierige Stelle.



danke!

von Christian K. (the_kirsch)


Lesenswert?

http://www.freertos.org/a00118.html

Der Rückgabewert ist false, wenn die Queue für den Zeitraum Delay leer 
ist und nichts entnommen werden konnte.


portMax_Delay ist unendlich, das heißt die Funktion würde niemals false 
ausgeben.


solange die Queue leer ist, blockiert der Task und ein anderer Task 
läuft in der Zeit

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
Noch kein Account? Hier anmelden.