OSA : OS_RI

OS_RI (temp_gie)

Нельзя вызывать из прерывания

Восстановить сохраненные в OS_DI значения GIEx. Для PIC16 восстанавливается GIE. Для PIC18 при IPEN=1 восстанавливаются GIEH и GIEL, а при IPEN=0 - только GIEH.

Восстанавливаются только единичные состояния флагов GIEx.

Если перед вызовом OS_DI GIE = 0, а после вызова он устанавливается сервисом OS_EI, то OS_RI не восстановит нулевое значение GIE.

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

Только не из прерывания

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

temp_gie Сохраненные сервисом OS_DI значения битов GIEx

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

Нет

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

void Task (void)
{
    char temp;
    for (;;) {
        /*...*/
        temp = OS_DI();
        // Прерывания запрещены, а GIEx - сохранены в temp
        /*...*/
        OS_RI (char);
        // GIEx восстановлены из temp
        /*...*/
    }
}

См. также