====== OSA : OS_Msg_Accept ====== **OS_Msg_Accept (msg_cb, os_msg_type_var)**\\ **OS_Msg_Accept_I (msg_cb, os_msg_type_var)**\\ === === Принять существующее сообщение. Перед вызовом следует быть уверенным в том, что сообщение присутствует (т.е. дескриптор занят, проверяется сервисом [[osa:ref:allservices:OS_Msg_Check|OS_Msg_Check]]). После выполнения сервиса дескриптор освобождается. === Разрешен вызов: === === Параметры функции: === {| class = "fpl" |- |//''msg_cb''// |Дескриптор указателя на сообщение. Переменная типа ##[[osa:ref:description:data_types#OST_MSG_CB|OST_MSG_CB]]## |- |//''os_msg_type_var''// |Переменная типа ##[[osa:ref:description:data_types#OST_MSG|OST_MSG]]##; в нее будет помещен указатель на сообщение |} === Возвращаемое значение: === Нет === Пример вызова: === OST_MSG_CB msg_cb; void Task (void) { OST_MSG msg; for (;;) { /*...*/ if (OS_Msg_Check (msg_cb)) { // Проверяем, есть ли сообщение OS_Msg_Accept(msg_cb, msg); // Принимаем сообщение и обнуляем дескриптор } /*...*/ } } === Old style name === **OS_AcceptMsg**\\ === См. также === * [[osa:ref:allservices:OS_Msg_Create|OS_Msg_Create]] * [[osa:ref:allservices:OS_Msg_Send|OS_Msg_Send]] * [[osa:ref:allservices:OS_Msg_Send_TO|OS_Msg_Send_TO]] * [[osa:ref:allservices:OS_Msg_Send_Now|OS_Msg_Send_Now]] * [[osa:ref:allservices:OS_Msg_Check|OS_Msg_Check]] * [[osa:ref:allservices:OS_Msg_Wait|OS_Msg_Wait]] * [[osa:ref:allservices:OS_Msg_Wait_TO|OS_Msg_Wait_TO]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~