Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ:

Отправлено Vit 26 сентября 2007 г. 15:38
В ответ на: (+) отправлено <font color=gray>PALзабылпароль</font> 26 сентября 2007 г. 14:32

Выглядит это примерно так:

void long_foo(void){
__CO_BEGIN();
{
...//чего-то делаем
}
__CO_RETURN();//выпадаем
//тут чего-то будем ждать
timeoutstart = current_timer;
while(time_elapsed(timeoutstart)< TCLK(TIMEOUT1)){//и если время вышло, то продолжим
//...
//WDT_Clear();
__CO_RETURN(); // иначе - выйдем из функции до следующего вызова, а затем попадём сюда-же в цикл
}
//выполняем дальше
...
__CO_RETURN();
...
__CO_END();//ну и типа закончили
}

Round-Robin - большой цикл - в нём функция (как и другие) вызывается либо постоянно, либо с началом следующего отрезка выполнения, например, каждую миллисекунду (нежёстко).



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru