~~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#Сервисы управления флагами|К списку сервисов]]