Перевод может содержать ошибки. Читайте первоисточник: Configuring an application to use software timers
Назад: [Программные таймеры] | Вверх: [Программные таймеры] | Вперёд: [Программные таймеры] |
Чтобы функции API для работы с программными таймерами во FreeRTOS были доступны приложению, просто:
Константа
|
Описание
|
configUSE_TIMERS
|
Установите в 1 для использования функционала программных таймеров. Задача обслуживания таймеров будет автоматически создана при запуске планировщика ОС, если configUSE_TIMERS установлен в 1. |
configTIMER_TASK_PRIORITY
|
Устанавливает приоритет задачи обслуживания таймеров. Как и все задачи, задача обслуживания таймеров может быть запущена с приоритетом от 0 до (configMAX_PRIORITIES - 1). Это значение должно быть выбратно тщательно, чтобы соответствовать требованиям приложения. Например, если задача обслуживания таймеров имеет наивысший приоритет в системе, то и команды, отправленные в задачу обслуживания таймеров (когда вызывается функция API таймера), и таймеры с истёкшим периодом будут обработаны немедленно. И наоборот, если задаче обслуживания таймеров присвоен низкий приоритет, то и команды, переданные задаче обслуживания таймеров, и таймеры с истёкшим периодом, не будут обрабатываться до тех пор, пока задача обслуживания таймеров не окажется задачей с наивысшим приоритетом из числа задач, готовых к запуску. Важно отметить, что период таймера отсчитывается от момента отправки команды, а не от момента её обработки. |
configTIMER_QUEUE_LENGTH
|
Эта константа устанавливает максимальное количество необработанных команд, которые могут находиться в очереди команд таймера в любой момент времени. Причины, по которым очередь команд может быть заполниться:
|
configTIMER_TASK_STACK_DEPTH
|
Устанавливает размер стека (в словах, а не в байтах!), выделенного для задачи обслуживания таймеров. Функции обратного вызова таймеров выполняются в контексте задачи обслуживания таймеров. Следовательно, требуемый размер стека для задачи обслуживания таймеров зависит от требований к стеку функций обратного вызова таймеров. |