您的位置:首页 > 编程语言 > C语言/C++

输出重定向函数

2016-03-16 20:26 239 查看
//加入以下代码,支持printf函数,而不需要选择use MicroLIB   

#if 1

#pragma import(__use_no_semihosting)            

        

struct __FILE

{

    int handle;

    /* Whatever you require here. If the only file you are using is */

    /* standard output using printf() for debugging, no file handling */

    /* is required. */

};

/* FILE is typedef¡¯ d in stdio.h. */

FILE __stdout;       

//定义_sys_exit()以避免使用半主机模式

_sys_exit(int x)

{

    x = x;

}

//重定向fputc函数,printf的输出,指向fputc,由fputc输出到串口,这里使用USART1输出printf信息

int fputc(int ch, FILE *f)

{      

    while((USART1->SR&0X40)==0); 

    USART1->DR = (u8) ch;       

    return ch;

}

#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C C++ STM32