FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [February 2007 Threads] Problem with Task and sprintf()Posted by dennis on February 8, 2007 Hi,
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?
Dennis
RE: Problem with Task and sprintf()Posted by Nobody/Anonymous on February 8, 2007 Most likely a stack issue. The biggest (and maybe only) disadvantage of GCC is that its standard library functions are pretty huge. When you print just a string it probably replaces the call with a puts(), which is standard for GCC. When you print numeric values it will start consuming an unpleasant amount of stack. Try increasing the stack size of the task that uses printf.
Dave.
RE: Problem with Task and sprintf()Posted by dennis on February 8, 2007 Thanks Dave,
That's did the trick. I need to set the stack size to around 200 (i.e. 400bytes) to make things work.
Cheers.
Dennis
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|