Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sleep вне класса-процесса
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > scmRTOS
Neutron
Привет!
Делаю первые шаги в освоении scmRTOS. Пока нравится. AVR Mega128 . Не очень силён в С++. Вопрос следующий: можно ли вызывать функции процесса извне его определения?
CODE

template<> void TProc2::Exec() {
while(1) {
foo();
....
}
}

void foo ( void ){
TProc2.Sleep(10); ???
}

Есть в проекте много функций для ввода различных данных с клавиатуры, в которых используется ожидание по времени.
Все планируется повесить на один процесс.
Спасибо за ответы.
Сергей Борщ
Функция Sleep() (в версии 4 - sleep()) - статическая, поэтому ее можно вызывать без привязки к конкретному процессу: OS::TBaseProcess::Sleep(10); и, естественно, делать это из любого места (ну, кроме прерываний, разумеется).

В версии 4 в пространстве имен OS введена функция-обертка, там можно писать OS::sleep(10);
CODE
namespace OS
{
    INLINE void sleep(timeout_t t = 0) { TBaseProcess::sleep(t); }
}
Neutron
Цитата(Сергей Борщ @ Jan 19 2012, 13:19) *
Функция Sleep() (в версии 4 - sleep()) - статическая, поэтому ее можно вызывать без привязки к конкретному процессу: OS::TBaseProcess::Sleep(10); и, естественно, делать это из любого места (ну, кроме прерываний, разумеется).

В версии 4 в пространстве имен OS введена функция-обертка, там можно писать OS::sleep(10);
Код
namespace OS
{
    INLINE void sleep(timeout_t t = 0) { TBaseProcess::sleep(t); }
}


Спасибо. Только не пойму какой тогда (из нескольких процессов) будет спать? Мне нужно уложить спать определённый.
Сергей Борщ
QUOTE (Neutron @ Jan 19 2012, 12:34) *
Спасибо. Только не пойму какой тогда (из нескольких процессов) будет спать?
Текущий, тот, который в данный момент выполняет этот код.
Все остальные процессы в этот момент и так приостановлены.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.