资料介绍
作为一名嵌入式软件系统工程师,掌握住高效快捷的调试方法,往往会在实际的项目开发中达到事半功倍的效果。今天就跟大家讲一讲我们在项目开发过程中,那些被我们忽视的调试法宝吧。
通过串口打印实时打印出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)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 德飞莱串口调试软件下载 23次下载
- STM32F103正弦波输出资料免费下载 74次下载
- STM32使用串口重定向系统printf函数输出时出现一初始化或使用printf函数系统卡死的原因及解决办法 12次下载
- printf通过串口输出在MCU上的实现 4次下载
- 51单片机串口通信调试printf函数重定向输出打印 16次下载
- 串口调试软件免费下载 11次下载
- 嵌入式Linux中printf重定向到串口 24次下载
- 串口调试助手V2.2软件程序下载 44次下载
- 串口调试助手V2.80软件下载 96次下载
- STM32串口DMA容易忽视的问题资料下载 5次下载
- 浅谈STM32单片机学习---PWM输出资料下载 14次下载
- PLC实例讲解之计数器值以二进制输出资源下载 22次下载
- ADS工程在IAR EWARM 5.3上移植printf的串口实现代码免费下载 0次下载
- Keil C51重定向printf到串口的程序免费下载 11次下载
- STM8S串口打印调试信息(不使用printf) 51次下载
- 解决printf无法打印输出的问题 568次阅读
- 什么是基本输入输出printf、scanf ... 639次阅读
- 基于单片机的串口调试打印 2079次阅读
- 基于QT的串口调试工具设计 1242次阅读
- 调试打印技巧分享 463次阅读
- 常规的串口调试工具 7827次阅读
- C语言printf格式化输出的实例详细资料说明 4179次阅读
- 如何使用单片机中printf 3053次阅读
- 基于STM8L15x单片机的串口printf输出程序分享 4857次阅读
- STM32:如何写出多串口共用printf函数语句? 1.4w次阅读
- 什么是串口通信?基于STM32的printf打印输出 1.3w次阅读
- STM32F103程序调用printf打印串口数据 1.2w次阅读
- 基于STM32中调试与串口之间的信息传输 6268次阅读
- 基于STM32的printf串口数据输出 1.9w次阅读
- stm32串口通信用printf发送数据配置 4144次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 10次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4labview文档教程资料(一)
- 24.29 MB | 2次下载 | 免费
- 54.5V 至 17V 输入、8A 同步降压 SWIFT™ 转换器TPS568215OA数据表
- 1.27MB | 1次下载 | 免费
- 6轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
- 0.60 MB | 1次下载 | 2 积分
- 7英集芯IP5353 QFN32 规格书pdf
- 2.70 MB | 1次下载 | 免费
- 8采用QFN封装且具有2.95V-6V 输入的LMZ30604 4A电源模块数据表
- 1.86MB | 1次下载 | 免费
本月
- 1STM32国内外发展现状
- 1.15 MB | 15次下载 | 免费
- 2传感芯片选型指南
- 3.60 MB | 12次下载 | 免费
- 3储能电源市场分析
- 7.99 MB | 10次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 62A多电池高效开关充电器AN_SY6912A中文资料规格书
- 1.43 MB | 7次下载 | 免费
- 7STM32F030单片机编程中文参考资料
- 15.52 MB | 6次下载 | 3 积分
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935091次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191317次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73788次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多