关于在STM32中USART串口中使用printf

关于在STM32中USART串口中使用printf


第一次写,语无伦次
/*
#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;
}

你可能感兴趣的:(学习)