#include #include #include "SEGGER_RTT.h" #include "string.h" static int bInitPrint = 0; static char buffer[256] = {0}; int MyPrintf(const char* fmt, ...) { if(bInitPrint==0) { bInitPrint = 1; SEGGER_RTT_Init(); SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); //SEGGER_RTT_WriteString(0, "SEGGER Real-Time-Terminal Sample\r\n"); //SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n"); } va_list args; va_start(args,fmt); int tmp_size = vsnprintf(buffer,sizeof(buffer),fmt,args); SEGGER_RTT_WriteString(0,buffer); int len = strlen(buffer); if((len>0)&&(buffer[len-2]!='\n')&&(buffer[len-2]!='\r')) { SEGGER_RTT_WriteString(0,"\r\n"); } va_end(args); return tmp_size; }