RTOS Salvo. Задержки, таймер и пропуск тиков.(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено abivan 30 июня 2003 г. 12:30

Обнаружил, что задержки стали отставать.
Системныйе часы установлены на 2mS. При срабатывании аппаратного таймера запускается сервис OSTimer
в котором устанавливается флаг
/* set the semaphore that OSSched() will test to see if */
/* processing of the delay queue is required. */
#if OSENABLE_DELAYS
OSglStat.timerTick = 1;
#endif
Флаг OSglStat.timerTick, как я понял должен быть обработан в OSSched()
до прихода следующего тика(2мС)
Но я же не могу отдавать управление от задачи каждые 2мС.
Что же получается? Задача может получить управление на время <2*TICK.
Ну допустим увеличу я тики до 10мС, но тогда разрешение падает. И если необходима задержка скажем, в 3мС, то задержка будет доходить до 20мС несмотря на то, что система находиться в простое и нет задач требующих выполнение.
Что посоветуете? uCos не предлагать :-)

С уважением, Иван.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru