资料介绍
作为一名嵌入式软件系统工程师,掌握住高效快捷的调试方法,往往会在实际的项目开发中达到事半功倍的效果。今天就跟大家讲一讲我们在项目开发过程中,那些被我们忽视的调试法宝吧。
通过串口打印实时打印出MCU的运行状态,想必大家都有用过,可你是不是仍然停留在串口打印字符函数(比如说函数名是StringUartSend)都需要自己写的时代。纵然我承认你C语言功底很深厚,但是其实你已经OUT了。现在是讲究效率的时代,时间就是金钱,如果我们能够充分的利用C语言函数库,会让很多代码的编写变的很简单。
比如说,现在我们需要通过串口输出1个3位的10进制整数,变量名就叫A。按照之前的思路,先需要把A的个、十、百位等分别提取出来,然后转换成ASCII码存储到数组或指针里,最后通过StringUartSend函数把结果输出来。这时你也许会说,这就已经满足你的要求了,可是如果你要查看的数据是小数呢?转换起来是不是就浪费了很多运行空间。那么该怎么办呢?没事,printf函数可以轻松帮我们搞定。
Printf函数是一个格式化输出函数,《C程序设计高级教程》一书中有这样的描述:printf函数的作用是按照指定的格式将程序的数据输出到终端上,其一般形式为:
printf ( 格式控制,输出列表 );
其中格式控制和输出列表为printf函数的参数。更多关于该函数的详细描述,请读者自行查阅1.12.3 格式化输出一节。
这时我们可能就会想:如果能用它直接向PC上的串口软件打印信息的话,不是件很酷的事情么,再也不用自己写格式转换函数了。但它是C函数库中的函数,如何知道我们的底层调用了串口发送函数呢?这就用到了重定向技术。重定向的代码如程序清单 1所示。
程序清单 1 重定向代码
int fputc(int ch, FILE *f)
{
CharUartSend((char)ch); /* 串口发送一个字符函数 */
return 1; /* 发送完成返回1 */
}
在我们完成串口的初始化工作并编写好一个字符发送函数CharUartSend之后,就可以把程序清单 1所示的代码添加到你的工程里了。并在文件起始处添加stdio.h文件,如下所示。
#include
重定向的代码是由fputc函数来执行的。要注意的是,不能使用其他的名字,因为“fputc”是编译器预定义的用于字符输出的函数名。fputc()实际上只是一个封皮,它直接调用CharUartSend 函数来做真实的工作。
加入上面的代码之后,再重新编译一下你的代码,在主函数中随便写一个打印信息,是不是在串口助手上面有意外的惊喜呢?
通过上文的描述,你已经对使用printf在串口助手打印信息有所了解把,但是在调试过程中,还需要配置串口资源,无疑又加大了产品开发的周期。那么有没有一种方法,可以不使用MCU的外设资源,又可以查看调试信息呢?
文章来源:
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 德飞莱串口调试软件下载 25次下载
- STM32使用串口重定向系统printf函数输出时出现一初始化或使用printf函数系统卡死的原因及解决办法
- printf通过串口输出在MCU上的实现
- 51单片机串口通信调试printf函数重定向输出打印
- 串口调试软件免费下载 13次下载
- 串口调试助手V2.2软件程序下载 47次下载
- 串口调试助手V2.80软件下载 102次下载
- 总结:这些Keil 软件仿真的串口调试技巧,你都记熟了没有?资料下载
- STM32串口DMA容易忽视的问题资料下载
- 浅谈STM32单片机学习---PWM输出资料下载
- ADS工程在IAR EWARM 5.3上移植printf的串口实现代码免费下载 0次下载
- Keil C51重定向printf到串口的程序免费下载
- 串口调试工具comdebug应用程序免费下载 78次下载
- STM8S串口打印调试信息(不使用printf) 51次下载
- scommtest 串口调试软件 38次下载
- 解决printf无法打印输出的问题 1297次阅读
- 什么是基本输入输出printf、scanf ... 877次阅读
- 基于单片机的串口调试打印 2717次阅读
- 基于QT的串口调试工具设计 2022次阅读
- 常规的串口调试工具 8522次阅读
- C语言printf格式化输出的实例详细资料说明 4496次阅读
- 如何使用单片机中printf 3187次阅读
- 基于STM8L15x单片机的串口printf输出程序分享 5097次阅读
- STM32:如何写出多串口共用printf函数语句? 1.5w次阅读
- 什么是串口通信?基于STM32的printf打印输出 1.3w次阅读
- STM32F103程序调用printf打印串口数据 1.2w次阅读
- 基于STM32中调试与串口之间的信息传输 6417次阅读
- 基于STM32的printf串口数据输出 2w次阅读
- 友善串口调试助手怎么使用及使用方法说明 12.6w次阅读
- stm32串口通信用printf发送数据配置 4270次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多