zoukankan      html  css  js  c++  java
  • STM32 KEIL 下的 printf 函数

     1 //加入以下代码,支持printf函数,而不需要选择use MicroLIB
     2 #if 1
     3 #pragma import(__use_no_semihosting)             
     4 //标准库需要的支持函数                 
     5 struct __FILE 
     6 { 
     7     int handle; 
     8 
     9 }; 
    10 
    11 FILE __stdout;       
    12 //定义_sys_exit()以避免使用半主机模式    
    13 _sys_exit(int x) 
    14 { 
    15     x = x; 
    16 } 
    17 //重定义fputc函数 
    18 int fputc(int ch, FILE *f)
    19 {      
    20 //return ITM_SendChar(ch);
    21 
    22      while((USART2->SR&0X40)==0);//循环发送,直到发送完毕   
    23     USART2->DR = (u8) ch;      
    24     return ch;
    25 }
    26 #endif 

    如上图:

    保留这一部分时:

     其中    可以更换任意的串口

    printf输出用串口发送出去

    当 下图圈圈中的部分编译

    则  通过JTAG (6线)  打印到SEGGER软件上

    但是当串口初始化函数运行了的时候     上面就失效了

    原因是?

  • 相关阅读:
    linux
    python(4)
    python(4)
    python(4)–yield实现异步
    python(4)-迭代器 和 生成器
    JavaScript函数参数问题
    文字垂直居中
    Window-document-javascript
    Java的StringTokenizer类
    Web应用与Spring MVC锁session
  • 原文地址:https://www.cnblogs.com/qdrs/p/7683791.html
Copyright © 2011-2022 走看看