Функция возвращает текущий контекст системы. Сервис можно использовать для проверки текущего контекста в функции, которая может вызываться как из контекста задачи, так и из пользовательского прерывания.
Вызов:
TN_CONTEXT tn_sys_context_get (void);
Разрешен вызов:
В контексте задачи, в прерывании, в пользовательской критической секции
Параметры функции:
нет
Возвращаемые значения:
TN_CONTEXT_TASK
TN_CONTEXT_SYS_INT
TN_CONTEXT_CRITICAL
Пример вызова:
void foo (void) { TN_CONTEXT context; context = tn_sys_context_get(); if (context == TN_CONTEXT_TASK) { tn_sem_signal(&sem); } else if (context == TN_CONTEXT_SYS_INT) { tn_sem_isignal(&sem); } }