资料介绍
作为一名嵌入式软件系统工程师,掌握住高效快捷的调试方法,往往会在实际的项目开发中达到事半功倍的效果。今天就跟大家讲一讲我们在项目开发过程中,那些被我们忽视的调试法宝吧。
通过串口打印实时打印出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次阅读
下载排行
本周
- 1SMD LED选型手册 贴片灯珠
- 5.47 MB | 3次下载 | 免费
- 2加密芯片的一种破解方法和对应加密方案改进设计
- 0.29 MB | 1次下载 | 免费
- 3明纬S-50-24开关电源电路图.pdf
- 0.10 MB | 1次下载 | 5 积分
- 4多功能MPU芯片GC9005数据手册
- 2.67 MB | 1次下载 | 免费
- 5碳化硅逆变焊机基本产品介绍
- 7.35 MB | 1次下载 | 免费
- 6基本半导体产品在Sic逆变焊机中的应用
- 7.27 MB | 1次下载 | 免费
- 7基本半导体产品在125kW工商业储能PCS中的应用
- 10.74 MB | 1次下载 | 免费
- 8MOSFET参数解读
- 1.59 MB | 1次下载 | 2 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 23314A函数发生器维修手册
- 16.30 MB | 13次下载 | 免费
- 3TPS54202H降压转换器评估模块用户指南
- 1.02MB | 9次下载 | 免费
- 4美的电磁炉维修手册大全
- 1.56 MB | 9次下载 | 5 积分
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6使用TL431设计电源
- 0.67 MB | 7次下载 | 免费
- 7感应笔电路图
- 0.06 MB | 7次下载 | 免费
- 8不对称半桥(AHB)反激变换器的分析与设计
- 0.68 MB | 6次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多