stm32 中printf使用

1、IAR

1、option->C/C++ compiler--->defined symbols 下添加一行_DLIB_FILE_DESCRIPTOR

2、修改库文件

          stm32 中printf使用


     3、在串口都配置好的情况下,在main.c文件中加入

  #include <stdio.h>

  #ifdef __GNUC__
 
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
   #else

  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
  #endif

 

 PUTCHAR_PROTOTYPE
 {
 
 
  USART_SendData(EVAL_COM1, (uint8_t) ch);

 
  while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET)
  {}

  return ch;
 }

 之后如若编译出现identifier "FILE" is undefined,即将Options->GeneralOptions->Library Configuation中的Library选为full即可



2、keil MDK下