Функция предназначена для установки битов в битовой маске флага evf
в прерывании. Биты устанавливаются по логическому ИЛИ с параметром-маской pattern
.
После того как битовая маска флага обновлена, проверяются все задачи, ожидающие флаг. Если условие для запуска одной из задачи соотвествует битовой маске, задача переводится в состояние готовых к выполнению.
Если флаг имеет атрибут TN_EVENT_ATTR_MULTI
, то в состояние готовых к выполнению переводятся все задачи, условие для запуска которых соответствует битовой маске.
Если флаг имеет атрибут TN_EVENT_ATTR_CLR
, то битовая маска флага сбрасывается.
Вызов:
TN_RETVAL tn_event_iset (TN_EVENT *evf, TN_UWORD pattern);
Разрешен вызов:
В прерывании
Параметры функции:
evf
pattern
0b0011001101010101
, а параметр pattern
равен 0b1100000000000000
, то битовая маска флага станет равна 0b1111001101010101
Возвращаемые значения:
TERR_WRONG_PARAM
TERR_NOEXS
TERR_WCONTEXT
TERR_NO_ERR
Пример вызова:
extern TN_EVENT event; tn_sys_interrupt (_T2Interrupt) /* прерывание от таймера */ { IFS0bits.T2IF = 0; /* сброс флага прерывания */ tn_event_iset(&event, 0x8000); }