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软件上
但是当串口初始化函数运行了的时候 上面就失效了
原因是?
转载于:https://www.cnblogs.com/qdrs/p/7683791.html
STM32 KEIL 下的 printf 函数相关推荐
- STM32 KEIL 串口打印printf使用详解
常规打印方法 在STM32的应用中,我们常常对printf进行重定向的方式来把打印信息printf到我们的串口助手. 在MDK环境中,我们常常使用MicroLIB+fputc的方式实现串口打印功能,即 ...
- keil C51使用printf函数
在使用printf函数之前需要注意亮点,一是调用头文件stdio.h,二是重定义putchar发送单个字符函数.这一点和MDK中开发AMR处理器不太一样,后者重定义的函数名fputc. 写个测试程序, ...
- stm32 keil下不重启进行仿真寻找bug原因
新建一个load.ini文件,文件内容如下: LOAD %L INCREMENTAL 该文件用于加载 axf 文件到 KEIL 中,但是不会下载到单片机中,而 axf 文件可以方便我们进行源码级别的调 ...
- 单片机c语言printf怎么用,如何在单片机上使用printf函数
当我们在调试代码时,通常需要将程序中的某个变量打印至PC机上,来判断我们的程序是否按预期的运行,printf函数很好的做到了这一点,它能直接以字符的方式输出变量名和变量的值,这样使输出的信息很直观:但 ...
- STM32的printf函数重定向
版权声明:原创文章,请持怀疑态度阅读,欢迎转载,但请注明文章出处. https://blog.csdn.net/qq_29344757/article/details/75363639 在前面学习了S ...
- 这两种printf()函数重定向方法,太实用了
作者:echobright 原文链接:https://blog.csdn.net/qq_29344757/article/details/75363639 在前面学习了STM32的串口编程,通过USA ...
- C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程
目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...
- STM8学习笔记---串口printf函数的实现
在使用单片机的时候,串口是要经常使用的功能,特别是在调试代码的过程中,经常需要使用串口打印出某些变量值,来判断程序执行流程是否正常.但是单片机默认情况下没有printf函数,如果需要使用printf函 ...
- 黑马程序员--C语言基础之--printf函数
------IOS培训期待与您交流! ------- 上一篇介绍了C语言中scanf函数的用法,接下来让我们来进一步地认识了解一下printf函数. 一.printf函数的用法: 首先让我们来看一下其 ...
- 【STM32学习5】STM32使用printf函数 打印到电脑串口助手
本文所使用的方法与代码参考自正点原子,如果想要详细了解这方面的知识,请阅读正点原子官方提供的文档. 一.背景 在开发STM32应用时,将一些信息通过串口打印到电脑上是常用的调试手段.C语言标准库中的p ...
最新文章
- 微信小程序 长按图片不出现菜单_微信更新,新功能上了热搜
- ArcEngine读取数据(数据访问)-转载
- react结合ts与mobx环境搭建步骤详解
- [USACO]Sprinklers 2: Return of the Alfalfa P(网格DP)
- Activiti 简易教程
- 前端学习(2254)team怎么接受到pr
- IDC发布2018中国AI服务器销量报告:浪潮领头,交通应用增幅最猛
- Gin Web框架简单介绍
- C++ 传递指针给函数
- linux下查看网卡信息的命令
- 关于IE主页被篡改成2345、360、hao123等页面的说明
- win10以太网dns服务器未响应,Win10系统dns服务器未响应如何修复?
- 信修修 | 如何一眼辨别显示器好坏?电脑选机必看!
- 睡前做什么有助于睡眠,不妨试试这几个帮助睡眠小妙招
- 在手机装linux客户端,在Linux下安装QQ客户端
- 文本中每行的部分文本格式由CamelWord的形式替换为CAMEL_WORD的形式
- 购物商场积分卡小程序开发制作
- linux ubuntu软件中心,Ubuntu软件中心
- SUSE Linux 10.0 实现网络电视功能(安装Sopcast,使用xine播放)
- jackson如何创建json对象和jackson工具类
热门文章
- 字符串未被识别为有效的布尔值
- HDU 6312.Game-博弈-签到题 (2018 Multi-University Training Contest 2 1004)
- HTTP长连接和短连接(转)
- [转]FCKeditor在ASP配置环境中的使用
- Android Architecture Components 系列(五)Room
- ASCII、 Unicode 和 UTF8
- 201571030139/201571030134 小学生四则运算软件结对编程
- 爬取自己的csdn访问排名信息
- 10天学会phpWeChat——第一天:核心框架的目录结构
- HackFifteen 移除背景以提升Activity启动速度