Herunterladen Inhalt Inhalt Diese Seite drucken

Semaphore-If (Nur Für Mhs31A); Cul_Semarequest; Cul_Semarelease - HIMA HI 800 328 CDA Handbuch

Inhaltsverzeichnis

Werbung

HI 800 328
3.11
Semaphore-IF (Nur für MHS31A)
Die CUT und die CUIT haben zur Prozesssynchronisation zusammen einen Semaphor.
Die Daten der CUCB- und CUL- Funktionen, die gemeinsam mit der Funktion
CUCB_IrqService() verwendet werden, müssen über einen Semaphor geschützt werden.
Damit wird die Konsistenz der gemeinsam mit der Funktion CUCB_IrqService()
verwendeten Daten sichergestellt.

3.11.1 CUL_SemaRequest

Die Funktion CUL_SemaRequest() fordert die Semaphore der CUT/CUIT an.
Ist die Semaphore
frei, so kehrt die Funktion mit dem Wert pContext zurück.
nicht frei, wird die aufrufende Task blockiert, bis die Semaphore durch eine andere Task
freigegeben wird und kehrt mit dem Wert pContext zurück.
Der Kontext, der durch Parameter pContext referenziert wird, wird nur von den CUL-
Funktionen für die aufrufende Task genutzt und darf zwischen Request und Release nicht
verändert werden.
Funktionsprototyp:
void CUL_SemaRequest(udword *pContext)
Parameter:
Die Funktion hat den folgenden Parameter:
Parameter
pContext
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.

3.11.2 CUL_SemaRelease

Die Funktion CUL_SemaRelease()gibt die Semaphore, die durch *pContext definiert
wird, wieder frei.
Funktionsprototyp:
void CUL_SemaRelease(udword *pContext)
Parameter:
Die Funktion hat den folgenden Parameter:
Parameter
pContext
Restriktionen:
Falls häufiger Release aufgerufen wird als Request/Try, werden CUT/CUIL terminiert.
Beschreibung
wird nur innerhalb der aufrufenden Task von CUL benutzt.
Der Kontext wird über pContext zurückgegeben und muss bei der
Funktion CUL_SemaRelease() wieder angegeben werden.
Beschreibung
mit dem gleichen Wert für *pContext, wie er durch CUL_SemaRequest
oder CUL_SemaTry geschrieben wurde.
HIMatrix COM User Task
33 von 52

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis