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软件上

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

原因是?

转载于:https://www.cnblogs.com/qdrs/p/7683791.html

STM32 KEIL 下的 printf 函数相关推荐

  1. STM32 KEIL 串口打印printf使用详解

    常规打印方法 在STM32的应用中,我们常常对printf进行重定向的方式来把打印信息printf到我们的串口助手. 在MDK环境中,我们常常使用MicroLIB+fputc的方式实现串口打印功能,即 ...

  2. keil C51使用printf函数

    在使用printf函数之前需要注意亮点,一是调用头文件stdio.h,二是重定义putchar发送单个字符函数.这一点和MDK中开发AMR处理器不太一样,后者重定义的函数名fputc. 写个测试程序, ...

  3. stm32 keil下不重启进行仿真寻找bug原因

    新建一个load.ini文件,文件内容如下: LOAD %L INCREMENTAL 该文件用于加载 axf 文件到 KEIL 中,但是不会下载到单片机中,而 axf 文件可以方便我们进行源码级别的调 ...

  4. 单片机c语言printf怎么用,如何在单片机上使用printf函数

    当我们在调试代码时,通常需要将程序中的某个变量打印至PC机上,来判断我们的程序是否按预期的运行,printf函数很好的做到了这一点,它能直接以字符的方式输出变量名和变量的值,这样使输出的信息很直观:但 ...

  5. STM32的printf函数重定向

    版权声明:原创文章,请持怀疑态度阅读,欢迎转载,但请注明文章出处. https://blog.csdn.net/qq_29344757/article/details/75363639 在前面学习了S ...

  6. 这两种printf()函数重定向方法,太实用了

    作者:echobright 原文链接:https://blog.csdn.net/qq_29344757/article/details/75363639 在前面学习了STM32的串口编程,通过USA ...

  7. C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程

    目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...

  8. STM8学习笔记---串口printf函数的实现

    在使用单片机的时候,串口是要经常使用的功能,特别是在调试代码的过程中,经常需要使用串口打印出某些变量值,来判断程序执行流程是否正常.但是单片机默认情况下没有printf函数,如果需要使用printf函 ...

  9. 黑马程序员--C语言基础之--printf函数

    ------IOS培训期待与您交流! ------- 上一篇介绍了C语言中scanf函数的用法,接下来让我们来进一步地认识了解一下printf函数. 一.printf函数的用法: 首先让我们来看一下其 ...

  10. 【STM32学习5】STM32使用printf函数 打印到电脑串口助手

    本文所使用的方法与代码参考自正点原子,如果想要详细了解这方面的知识,请阅读正点原子官方提供的文档. 一.背景 在开发STM32应用时,将一些信息通过串口打印到电脑上是常用的调试手段.C语言标准库中的p ...

最新文章

  1. 微信小程序 长按图片不出现菜单_微信更新,新功能上了热搜
  2. ArcEngine读取数据(数据访问)-转载
  3. react结合ts与mobx环境搭建步骤详解
  4. [USACO]Sprinklers 2: Return of the Alfalfa P(网格DP)
  5. Activiti 简易教程
  6. 前端学习(2254)team怎么接受到pr
  7. IDC发布2018中国AI服务器销量报告:浪潮领头,交通应用增幅最猛
  8. Gin Web框架简单介绍
  9. C++ 传递指针给函数
  10. linux下查看网卡信息的命令
  11. 关于IE主页被篡改成2345、360、hao123等页面的说明
  12. win10以太网dns服务器未响应,Win10系统dns服务器未响应如何修复?
  13. 信修修 | 如何一眼辨别显示器好坏?电脑选机必看!
  14. 睡前做什么有助于睡眠,不妨试试这几个帮助睡眠小妙招
  15. 在手机装linux客户端,在Linux下安装QQ客户端
  16. 文本中每行的部分文本格式由CamelWord的形式替换为CAMEL_WORD的形式
  17. 购物商场积分卡小程序开发制作
  18. linux ubuntu软件中心,Ubuntu软件中心
  19. SUSE Linux 10.0 实现网络电视功能(安装Sopcast,使用xine播放)
  20. jackson如何创建json对象和jackson工具类

热门文章

  1. 字符串未被识别为有效的布尔值
  2. HDU 6312.Game-博弈-签到题 (2018 Multi-University Training Contest 2 1004)
  3. HTTP长连接和短连接(转)
  4. [转]FCKeditor在ASP配置环境中的使用
  5. Android Architecture Components 系列(五)Room
  6. ASCII、 Unicode 和 UTF8
  7. 201571030139/201571030134 小学生四则运算软件结对编程
  8. 爬取自己的csdn访问排名信息
  9. 10天学会phpWeChat——第一天:核心框架的目录结构
  10. HackFifteen 移除背景以提升Activity启动速度