I’m using FreeRTOS on a PIC32 and so far everything is going well apart from sprintf. After some searching on the Microchip forums, I came across this post (http://forum.microchip.com/tm.aspx?m=372645) which describes a similar problem to what I’m facing. In my case, when running the release build of the firmware, sprintf(%f) will always print 0.00 and not the number I input. Strangly enough, it works fine if I run the PIC in debug mode using the ICD3.
Regardless, I was wondering if there was a known fix for this, or if there are other alternatives I could use for printing a floating point number into a string while using FreeRTOS?
Is the library selection different between the release and debug builds? Often a compiler will switch libraries silently to use an optimised library, and it might be that the release library does not have floating point support.
Thanks for your reply - Both libraries have floating point support as I’ve used them before in projects without FreeRTOS.
Also, I’ve just written a simple demo using FreeRTOS and sprintf and in this case, the opposite occurs! I get 0.00 when running in Debug and it works fine in release mode! All that the demo requires is an Explorer16 board, PIC32MX360F512L PIM and an ICD3. If you want, I can email it to you.