====== 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~~