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