Я играю с FreeRTOS Posix GCC Simulator и создаю простую задачу и откладываю 1 секунду, а печать просто не дает правильных результатов. Для создания такой задачи должен отображаться текст, распечатываемый каждые 1 сек, но кажется, что он больше похож на 8-9 секунд между отпечатками. В чем может быть проблема?FreeRTOS Posix GCC Simulator vTaskDelay не задерживается должным образом
void prvTask1(void *pvParameters)
{
for (;;)
{
printf("Task 1 ...%d\n", xTaskGetTickCount());
vTaskDelay(1000/portTICK_RATE_MS);
}
}
Config:
#define configTICK_RATE_HZ ((portTickType) 1000)
#define portTICK_RATE_MS ((portTickType) 1000/configTICK_RATE_HZ)
Я тестировал со значениями:
#define configTICK_RATE_HZ ((portTickType) 250)
#define portTICK_RATE_MS ((portTickType) 1000/configTICK_RATE_HZ)
Похоже, это ~ 1 сек на Printf. Как-то кажется, что повышение значений от ~ 500> 1000 дает более высокие результаты с задержкой в 1 секунду (становится намного больше 1 с).
Каково значение параметра конфигурации portTICK_RATE_MS? Я подозреваю, что это неправильно настроено. Копирование вывода было бы полезно. – sniper
Вывод не предоставляет никакой информации, так как ошибка во времени, выходные значения являются правильными. – user505160