第一次写,语无伦次
/*
#pragma import(__use_no_semihosting)
*/
struct __FILE
{
//int b;
char cd;
};
FILE __stdout;
/*
void _sys_exit(int x)
{
}
*/
网上搜的内容,其中注释的部分可以不要,标准printf 在调用fputc时重定义自己的函数,为了使参数一致重定义__FILE 结构体,可以随便定义,后再用FILE 定义一个__stdout 主要是为了参数相配,最终目的是让printf 能调用自定义的fputc,FILE *p参数没用到。
int fputc (int ch ,FILE *f)
{
USART_SendData(USART1, (u8) ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
return 0;
}
第一次写,语无伦次
/*
#pragma import(__use_no_semihosting)
*/
struct __FILE
{
//int b;
char cd;
};
FILE __stdout;
/*
void _sys_exit(int x)
{
}
*/
网上搜的内容,其中注释的部分可以不要,标准printf 在调用fputc时重定义自己的函数,为了使参数一致重定义__FILE 结构体,可以随便定义,后再用FILE 定义一个__stdout 主要是为了参数相配,最终目的是让printf 能调用自定义的fputc,FILE *p参数没用到。
int fputc (int ch ,FILE *f)
{
USART_SendData(USART1, (u8) ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
return 0;
}
举报