FreeRTOS configTICK_RATE_HZ

Estoy usando un MSP430f5438 con la versión 5.4 de FreeRTOS.

Tengo un problema gracioso que no puedo resolver.

Básicamente, cuando configuro configTICK_RATE_HZ a diferentes valores, el LED parpadea más rápido o más lento; Debería mantenerse al mismo ritmo. Parpadea más lento cuanto más alto configuro configTICK_RATE_HZ, y más rápido cuando configuro TICK_RATE más bajo.

vTaskDelayUntil (& xLastFlashTime, xFlashRate); es tal que el LED solo debería parpadear una vez por segundo, sin importar cuál sea configTICK_RATE_HZ. Pasé y revisé el xFlashRate para asegurarme. Siempre es = a configTICK_RATE_HZ. Código:

xFlashRate = ledFLASH_RATE_BASE;//my flash base rate is 1000ms
xFlashRate /= portTICK_RATE_MS; //so xFlashrate = whatever configTICK_RATE_HZ equals

/* We need to initialise xLastFlashTime prior to the first call to vTaskDelayUntil().*/ 
xLastFlashTime = xTaskGetTickCount();
for(;;) { 
vTaskDelayUntil( &xLastFlashTime, xFlashRate ); vParTestToggleLED( uxLED ); 
flashled();//this should happen every 1 second.
}

El led parpadea con un período mayor de 1 segundo cuando configuré configtick_rate_hz a 1000 y el led parpadea con un período mucho menor que 1s cuando configuré la frecuencia de tick a menos de ~ 200

configTICK_RATE_HZ no debería afectar el tiempo de parpadeo del LED.

Me doy cuenta de que se necesita más información y suministraré fácilmente cualquier fragmento de código que se necesite para ayudar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta