1. 首先添加頭文件 #include <stdio.h>
2. 增加以下代碼到C文件中
#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) #define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n))) #define ITM_Port32(n) (*((volatile unsigned long *)(0xE0000000+4*n))) #define DEMCR (*((volatile unsigned long *)(0xE000EDFC))) #define TRCENA 0x01000000 struct __FILE { int handle; /* Add whatever needed */ }; FILE __stdout; FILE __stdin; int fputc(int ch, FILE *f) { if (DEMCR & TRCENA) { while (ITM_Port32(0) == 0); ITM_Port8(0) = ch; } return(ch); }
3. 添加printf到需要的文件中,加載程序
4. 菜單View-------SerialWindows-------Debug(printf)Viewer,打開窗口
5. 打印內容即會出現在Debug(printf)Viewer中
6. 這裏本來應該結束了,多插一句,如果要實現printf到串口,實際只需要改動fputc這個函數即可,舉一反三的事情就留給各位看客了