-
tslp_tsk
-
Put task to sleep (with timeout).
ER tslp_tsk ( TMO tmout );
|
MOVW BC, #tmout_hi
MOVW AX, #tmout_lo
CALL !!_tslp_tsk
|
|
|
|
|
TMO tmout;
|
Specified timeout (unit: ticks).
TMO_FEVR: Waiting forever.
Value: Specified timeout.
|
This service call moves an invoking task from the RUNNING state to the WAITING state (sleeping state).
As a result, the invoking task is unlinked from the ready queue and excluded from the RI78V4 scheduling subject.
If a wakeup request has been queued to the target task (the wakeup request counter is not set to 0x0) when this service call is issued, this service call does not move the state but decrements the wakeup request counter (by subtracting 0x1 from the wakeup request counter).
The sleeping state is cancelled in the following cases, and then moved to the READY state.
Sleeping State Cancel Operation
|
|
A wakeup request was issued as a result of issuing wup_tsk.
|
|
A wakeup request was issued as a result of issuing iwup_tsk.
|
|
Forced release from waiting (accept rel_wai while waiting).
|
|
Forced release from waiting (accept irel_wai while waiting).
|
|
Polling failure or timeout.
|
|
Note When TMO_FEVR is specified for wait time
tmout, processing equivalent to
slp_tsk will be executed.
|
|
|
|
|
|
|
|
|
|
|
Polling failure or timeout.
|