реклама на сайте
подробности

 
 
> Sleep вне класса-процесса
Neutron
сообщение Jan 19 2012, 09:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 1-10-07
Пользователь №: 30 960



Привет!
Делаю первые шаги в освоении scmRTOS. Пока нравится. AVR Mega128 . Не очень силён в С++. Вопрос следующий: можно ли вызывать функции процесса извне его определения?
CODE

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

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

Есть в проекте много функций для ввода различных данных с клавиатуры, в которых используется ожидание по времени.
Все планируется повесить на один процесс.
Спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Jan 19 2012, 10:19
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Функция 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); }
}


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 08:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016