zoukankan      html  css  js  c++  java
  • STM32.printf

    printf(" this is a usart printf demo ");

    Use Micro LIB 需要勾选这个库

    将串口定义成 printf 函数

    #include <stdio.h>
    //重定向C库函数printf到USART1
    int fputc(int ch, FILE *f)
    {
            /* 发送一个字节数据到USART1 */
            USART_SendData(USART1, (uint8_t) ch);
            
            /*等待发送完毕  */
            while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);        
        
            return (ch);
    }
    
    ///重定向C库函数scanf到USART1
    int fgetc(FILE *f)
    {
            /* 等待串口1输入数据 */
            while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
    
            return (int)USART_ReceiveData(USART1);
    }

    或者

    #ifdef __GNUC__
      /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
         set to 'Yes') calls __io_putchar() */
      #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    #else
      #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    #endif /* __GNUC__ */


     

  • 相关阅读:
    喷水装置(一)
    下沙小面的(2)
    +-字符串
    非洲小孩
    寻找最大数(三)
    C
    寻找最大数
    阶乘之和
    背包问题
    python的内存管理机制(zz)
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4006331.html
Copyright © 2011-2022 走看看