MCU KEIL printf函数

//加入以下代码,支持printf函数,而不需要选择use MicroLIB 

#if 1 

#pragma import(__use_no_semihosting)              

//标准库需要的支持函数                  

struct __FILE  

{  

int handle;  

};  

FILE __stdout;        

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

_sys_exit(int x)  

{  

x = x;  

}  

//重定义fputc函数  

int fputc(int ch, FILE *f) 

{       

#ifdef COM_EX 

com_snd(COM2, 1, (unsigned char*)&ch); 

#else 

com_snd(COM1, 1, (unsigned char*)&ch); 

#endif 

return ch; 

#endif  

/*使用microLib的方法,在keil里面要勾选“Use MicroLIB”*/ 

// 以便使用 printf 函数 

// #define UTCHAR_PROTOTYPE int fputc(int ch, FILE *f) 

// UTCHAR_PROTOTYPE 

// { 

// #ifdef COM_EX 

//  com_snd(COM2, 1, (unsigned char*)&ch); 

// #else 

//  com_snd(COM1, 1, (unsigned char*)&ch); 

// #endif 

// 

//  return ch; 

// }  

---------------------

作者:kelsey11

来源:CSDN

原文:https://blog.csdn.net/kelsey11/article/details/51246636

版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/yuanhuang32/p/10996070.html