====== OSA : OS_RI ====== **OS_RI (temp_gie)**\\ === === {{osa:ref:attr_call_not_int.png|Нельзя вызывать из прерывания}} Восстановить сохраненные в ##[[osa:ref:allservices:OS_DI|OS_DI]]## значения GIEx. Для PIC16 восстанавливается GIE. Для PIC18 при IPEN=1 восстанавливаются GIEH и GIEL, а при IPEN=0 - только GIEH. Восстанавливаются только единичные состояния флагов GIEx. Если перед вызовом ##[[osa:ref:allservices:OS_DI|OS_DI]]## GIE = 0, а после вызова он устанавливается сервисом ##[[osa:ref:allservices:OS_EI|OS_EI]]##, то ##[[osa:ref:allservices:OS_RI|OS_RI]]## __**не восстановит**__ нулевое значение GIE. === Разрешен вызов: === Только не из прерывания === Параметры функции: === {| class = "fpl" |- |//''temp_gie''// |Сохраненные сервисом ##[[osa:ref:allservices:OS_DI|OS_DI]]## значения битов GIEx |} === Возвращаемое значение: === Нет === Пример вызова: === void Task (void) { char temp; for (;;) { /*...*/ temp = OS_DI(); // Прерывания запрещены, а GIEx - сохранены в temp /*...*/ OS_RI (char); // GIEx восстановлены из temp /*...*/ } } === См. также === ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~