~~NOTOC~~
===== tn_event_iset() =====
Функция предназначена для установки битов в битовой маске флага ''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'' равен ''0b**11**00000000000000'', то битовая маска флага станет равна ''0b**11**11001101010101''
\\
**Возвращаемые значения:**
; ''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);
}
\\
----
[[tnkernel:ref:event:intro#Сервисы управления флагами|К списку сервисов]]