tn_event_clear()

Функция предназначена для сброса битов в битовой маске флага evf. Биты сбрасываются по логическому И с параметром-маской pattern.

Этот сервис не предназначен для запуска задач, ожидающих определенную битовую маску. Его можно использовать для сброса события в задаче, ожидавшей флаг.

Вызов:

TN_RETVAL tn_event_clear (TN_EVENT *evf, TN_UWORD pattern);

Разрешен вызов:

В контексте задачи

Параметры функции:

evf
указатель на объект типа флаг
pattern
сбрасываемые биты в битовой маске флага. Замечание: сбрасываемые биты должны быть равны 0, параметр pattern не должен принимать значения 0xFFFF. Например, если битовая маска флага до вызова сервиса была равна 0b0011001101010101, а параметр pattern равен 0b1100111111111111, то битовая маска флага станет равна 0b0000001101010101


Возвращаемые значения:

TERR_WRONG_PARAM
некорректное значение параметра (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_NOEXS
попытка изменения объекта, не являющегося флагом (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_WCONTEXT
попытка вызова сервиса в пользовательской критической секции или в прерывании
TERR_NO_ERR
успешное выполнение


Пример вызова:

TN_EVENT event;
 
tn_event_clear(&event, ~(0x8000));



К списку сервисов