Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

HI 800 328

3.11.3 CUL_SemaTry

Die Funktion CUL_SemaTry() versucht die Semaphore der CUT/CUIT anzufordern.
Ist die Semaphore
frei, so kehrt die Funktion mit TRUE zurück und belegt die Semaphore.
nicht frei, so kehrt die Funktion mit FALSE zurück und belegt die Semaphore nicht.
Das udword, das durch pContext referenziert wird, wird nur von der CUL für die aufrufende
Task genutzt und darf zwischen Request/Release nicht verändert werden.
Funktionsprototyp:
bool CUL_SemaTry(udword *pContext)
Parameter:
Die Funktion hat den folgenden Parameter:
Parameter
pContext
Rückgabewert:
Es wird ein Error code (udword) zurückgegeben.
Die Error codes sind im Header-File cut.h definiert.
Error code
TRUE
FALSE
Kontext wird über pContext zurückgegeben und muss bei der Funktion CUL_SemaRelease
wieder angegeben werden.
Restriktionen:
Wird die Anzahl der zulässigen Rekursionen überschritten, werden CUT/CUIT terminiert.
Wenn die CUT durch eine Semaphore blockiert wird, werden mit Ausnahme von
CUCB_IrqService() keine CUCB_'s mehr durchgeführt.
Hinweis
Beschreibung
wird nur innerhalb der aufrufenden Task von CUL benutzt
Beschreibung
Semaphore konnte belegt werden
Semaphore konnte nicht belegt werden
Die Funktionen CUL_SemaTry() und CUL_SemaRequest() dürfen
auch dann ohne Blockade aufgerufen werden, wenn die aufrufende Task
die Semaphore schon belegt hat; nur müssen dann auch gleich viele
CUL_SemaRelease erfolgen, bis die Semaphore wieder frei ist. Die
Rekursion lässt mindestens 32000 Schritte zu. Ob mehr Schritte möglich
sind, hängt von der jeweiligen Ausgabe der COM ab.
HIMatrix COM User Task
34 von 52

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für HIMA HI 800 328 CDA

Inhaltsverzeichnis