queue.h
portBASE_TYPE xQueueSendToBack( xQueueHandle xQueue, const void * pvItemToQueue, portTickType xTicksToWait );
これは xQueueGenericSend () を呼び出すマクロです。 それは xQueueSend () と同等です。
待ち行列の後部にアイテムをポストする。
アイテムは、リファレンスによってではなく、コピーによって待ち行列に入れます。 この関数は割り込みサービスルーチンから呼び出しは禁止です。 ISR
で使用にはxQueueSendToBackFromISR () を参照してください。
xQueueSendToBack()は、フル機能のタスク間通信APIの一部です。 代替同等のAPIはxQueueAltSendToBack()です。 両方のバージョンが同じパラメータを必要として、そして同じ値を返します。
パラメータ: 
xQueue   アイテムをポストすべき待ち行列へのハンドル。
pvItemToQueue   待ち行列の上に置くべきアイテムへのポインタ。 待ち行列が作成したとき、待ち行列が持つアイテムの大きさは定義された、そのバイト数
pvItemToQueue から待ち行列格納エリアへコピーされる。
xTicksToWait   もしスペースが満杯であったなら、タスクは待ち行列の利用可能なスペースが空くのを待つ、このブロック時間の最大数。
もしこれが0にセットされるなら、コールはすぐに戻るでしょう。 時間はチック(システムクロック)ピリオドで定義されます、定数portTICK_RATE_MS
は必要ならチック数をリアルタイムに変換するのに使用する。
もし INCLUDE_vTaskSuspend を「1」にセットするなら、ブロックタイムを portMAX_DELAY として明示することでタスクを(タイムアウトなしで)いつまでもブロックします。
リターン: 
 もしアイテムのポストが成功にであったならpdTRUE戻る、さもなければerrQUEUE_FULL が戻る
使用例:
struct AMessage 
{ 
    portCHAR ucMessageID; 
    portCHAR ucData[ 20 ]; 
} xMessage;
unsigned portLONG ulVar = 10UL;
void vATask( void *pvParameters ) 
{ 
    xQueueHandle xQueue1, xQueue2; 
    struct AMessage *pxMessage;
    // Create a queue capable of containing 10 unsigned long values. 
    xQueue1 = xQueueCreate( 10, sizeof( unsigned portLONG ) );
    // Create a queue capable of containing 10 pointers to AMessage structures. 
    // These should be passed by pointer as they contain a lot of data. 
    xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) );
    // ...
    if( xQueue1 != 0 ) { 
        // Send an unsigned long. Wait for 10 ticks for space to become 
        // available if necessary. 
        if( xQueueSendToBack( xQueue1, ( void * ) &ulVar, ( portTickType ) 10 ) != pdPASS ) { 
            // Failed to post the message, even after 10 ticks. 
        }
    }
    if( xQueue2 != 0 ) { 
        // Send a pointer to a struct AMessage object. Don't block if the 
        // queue is already full. 
        pxMessage = & xMessage; 
        xQueueSendToBack( xQueue2, ( void * ) &pxMessage, ( portTickType ) 0 ); 
    }
    // ... Rest of task code. 
}