在KEIL安装目录下的 ARM\Startup\ 目录下,有一个名叫 Retarget.c 的文件,里面定义了FILE数据类型和一些输入、输出的底层函数,我们只保留FILE声明和fputc输出函数,其余删掉,改造后的 retarget.c 文件如下:
#include <stdio.h>
#include "stm32f4xx_hal.h"
#pragma import(__use_no_semihosting_swi)
//extern int sendchar(int ch); /* in Serial.c */
struct __FILE { int handle; /* Add whatever you need here */ };
FILE __stdout;
FILE __stdin;
int fputc(int ch, FILE *f) {
//return (sendchar(ch));
return (ITM_SendChar(ch));
}
|