Command disabled: backlink
 
Available Languages?:

OSA : OS_Squeue_Wait_TO

OS_Squeue_Wait_TO (squeue, os_smsg_type_var, timeout)

Allowed only in taskSwitches contextUses timer

Same as OS_Squeue_Wait with exit if timeout expires. If timeout expires before message received, then stop waiting with Timeout flag set (see OS_IsTimeout)

OS_ENABLE_SQUEUE constant must be defined in OSAcfg.h.

For PIC16, message queues can be allocated only in bank0 or bank1

Call allowed:

Only in task

Parameters:

squeue Queue of simple messages descriptor. Variable of OST_SQUEUE type.
os_smsg_type_var Variable of OST_SMSG type, where simple message will be placed
timeout Time of waiting in system ticks - calling OS_Timer periods

Returns:

timeout If timeout expired then system service OS_IsTimeout will return true

Example:

OST_SQUEUE squeue;
 
void Task (void)
{
    OST_SMSG smsg;
    for (;;) {
        /*...*/
        OS_Squeue_Wait_TO(squeue, smsg, 100);
        if (!OS_IsTimeout()) {
            // Simple message received and stored into smsg
            /*...*/
        }
        /*...*/
    }
}

Old style name

OS_WaitQSMsgTimeout

See also

 
en/osa/ref/allservices/os_squeue_wait_to.txt · Last modified: 07.10.2010 13:57 (external edit)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki