I need to add some time stamps for my sampling, for this I have used following code:
xLastWakeTime = xTaskGetTickCount();
for(;
{
portTickType old_wake_time = xLastWakeTime;
// Wait for the next cycle.
vTaskDelayUntil( &xLastWakeTime, xFrequency );
double millisec=(double)((xLastWakeTime-old_wake_time)/portTICK_RATE_MS);
char data[40];
sprintf(data, " X =%d; Y =%d; Z =%d\r\n", millisek, acc[1], acc[2]);
char data[40] - do you have enough stack space to allocate 40 bytes? Maybe static char data[40] would help. sprintf will use lots of stack also.
In the sprintf you are using %d (int format) to print a double.
Lastly - I presume you are wanting a time stamp in milliseconds? portTICK_RATE_MS is the time in MS between each tick. If you have a tick rate of 500hz (for example) then portTICK_RATE_MS will be 2. Then, if 10 ticks have passed between xLastWakeTime and old_wake_time this is 10 * 2 milliseconds. 10 / 2 will give you 5ms, which I presume is not what you want.