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这个函数即可,举一反三的事情就留给各位看客了