I had an issue earlier with System_printf that can be found here. It wasn't printing from different source files for some reason. I got pulled off that problem and never was able to fully investigate why. Recently I added System_printf back into my project and it was "magically" working properly again (which we all know means it probably broke something else).
During development the System_printf of messages was working as expected but other interfaces were being affected, namely UART1 to a Bluegiga WT32i bluetooth module. The UART was not receiving full strings from the bt module and would stop at receiving only 16 bytes of the frame. I verified that entire frames to and from the radio was being sent via a serial sniffer. What was received was not garbled (aka Ascii soup) just cut off at 16 bytes. Baud rates, flow control, etc all checked out.
I finally fixed the UART interface problem by turning "off" (simply commenting out the System_printf calls) System_printf. All frames sent to and received from(receiving being the part that was being interfered with) the bt module are now properly formed and terminated.
My question is, why did System_printf interfere with UART1? How can I bring System_printf back into my project and ensure it won't cause any additional problems?
Thank you,
-Matt