Domanda

Se si utilizza una MSP430f5438 con la versione 5.4 di FreeRTOS.

Sto avendo un problema strano che io non riesco a capire.

In sostanza, quando ho impostato configTICK_RATE_HZ a valori diversi, il LED lampeggia velocemente o più lentamente; esso dovrebbe rimanere lo stesso tasso. Lampeggia più lenta è la più alta ho impostato configTICK_RATE_HZ, e più velocemente quando ho impostato TICK_RATE inferiore.

vTaskDelayUntil (& xLastFlashTime, xFlashRate); è tale che il LED dovrebbe solo lampeggia una volta al secondo non importa quale sia il configTICK_RATE_HZ è. Ho fatto un passo attraverso e controllato il xFlashRate per assicurarsi. Il suo = sempre al configTICK_RATE_HZ. Codice:

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.
}

Il lampeggio led con un periodo superiore a 1 secondo quando ho impostato il configtick_rate_hz a 1000 e il led lampeggia con un periodo molto meno che 1s quando ho impostato il tasso di spunta a qualcosa di meno di ~ 200

configTICK_RATE_HZ non dovrebbe pregiudicare la blinktime LED.

Mi rendo conto che è necessaria più informazioni e prontamente fornire qualunque frammenti di codice sono necessari per aiutare.

È stato utile?

Soluzione

La zecca RTOS è generato da un interrupt timer. Il timer è stato impostato (impropriamente) in modo tale che sempre causato un segno di spunta fissato a 400 kHz non importa ciò che si imposta configTICK_RATE_HZ troppo. Poiché la velocità di intermittenza è impostato in base al presupposto che il tasso tick RTOS è correttamente rappresentato dalla configTICK_RATE_HZ (portTICK_RATE_MS = 1000 / configTICK_RATE_HZ), problemi derivano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top