After spending a bit of time on using Tasks, I’ve experienced a problem on using sprintf() in <stdio.h> provided by Microchip MPLAB C30.
Here are the symptoms:
1) When I used sprintf() in Task to print a string of characters, there are no problems.
2) When I used sprintf() in Task to print an integer or a floating point number, the function fails to work and seems to generate a reset on my chip.
3) When I used sprintf() in Coroutine, both characters and numbers work fine.
I wonder if anyone experienced the same problem at all? Is the problem caused by Task? or by sprintf()? or others?