历史上的今天
返回首页

历史上的今天

今天是:2025年05月12日(星期一)

正在发生

2020年05月12日 | 关于51单片机使用printf串口调试

2020-05-12 来源:eefocus

在51系列单片机上面使用串口的时候,有时候为了方便调试看一下输出结果,会用到printf函数输出到电脑终端,再用串口助手显示。但是单片机使用printf的时候有一点需要注意的地方。


1、首先添加头文件#include "stdio.h",因为printf在这个里面
2、然后配置串口,但是在串口初始化的时候需要吧 TI = 1;否则无法发送。因为printf函数会调用putchar函数,而putchar函数会判断 TI ,不为 1 则等待,相当于死机,为 1 则清零。
3、也可以使用接受中断,但是中断里面不要再有 TI = 1;这句,否则无法发送。


就这三点,然后就可以很方便的使用printf输出了。


但是方便归方便,这个只有在调试的时候使用,除了调试,一般不推荐使用,因为一个printf函数起码要占用2K的空间,而且浮点型的更多。大大增加了代码量。

推荐阅读

史海拾趣

Davies Molding公司的发展小趣事

Davies Molding公司在追求经济效益的同时,始终关注社会责任和可持续发展。公司积极参与环保公益活动,推动绿色生产,降低对环境的影响。此外,Davies Molding公司还注重员工福利和社会公益事业,为员工提供良好的工作环境和发展空间,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实基础。

Allied Electronic & Semiconductor Technology Inc公司的发展小趣事

随着国内市场的饱和,AE&ST公司开始将目光投向全球。公司积极寻找国际合作伙伴,拓展海外市场。在一次国际电子展上,AE&ST与一家欧洲知名电子公司达成了战略合作协议。双方共同研发了一款针对欧洲市场的特色产品,并成功打开了欧洲市场的大门。此后,AE&ST公司不断深化与国际伙伴的合作,逐步实现了全球化布局。

Data Delay Devices公司的发展小趣事

在DDD公司的发展历程中,技术创新一直是其核心竞争力。公司不断投入研发资金,引进高端人才,推动产品升级换代。特别是在模拟和数字延迟线技术方面,DDD公司取得了多项重要突破。这些技术创新不仅提高了产品的性能和质量,也为公司赢得了更多客户的信任和认可。

Beckhoff Automation GmbH公司的发展小趣事

品质是电子行业的生命线,BCD Semi公司深知这一点。因此,公司始终将品质管理放在首位,建立了完善的品质管理体系和质量控制流程。公司从原材料采购、生产制造到产品出厂,每一个环节都进行严格的质量把控,确保产品的高品质和稳定性。同时,BCD Semi还不断引进先进的生产设备和技术,优化生产流程,提高生产效率,为客户提供更优质的产品和服务。

台湾第一电阻(Firstohm)公司的发展小趣事
电冰箱不制冷可能由多种原因引起,包括电源问题、温度设置不当、制冷系统故障等。首先,检查电源插头是否牢固插入插座,并确保插座有电。其次,检查温度设置是否正确,冷藏室温度一般应设置在2-4摄氏度,冷冻室温度应设置在-18摄氏度左右。如果以上均正常,可能是制冷系统出现故障,如压缩机故障、制冷剂泄漏等,需要请专业人员进行检查和维修。
FOX [Fox Electronics]公司的发展小趣事

在20世纪90年代初,Fox Electronics凭借其创新的温补晶体振荡器(TCXO)技术,在竞争激烈的电子行业中脱颖而出。该技术通过自动调节晶体振荡频率以补偿温度变化,极大地提高了电子设备的稳定性和可靠性。这一创新不仅为Fox Electronics赢得了众多高端客户的青睐,还推动了整个行业对高精度时钟源的需求增长。随着通信和计算机技术的快速发展,Fox Electronics不断迭代其TCXO技术,持续引领市场潮流。

问答坊 | AI 解惑

Microsoft内部关于WinCE培训资料

Microsoft内部关于WinCE培训资料 …

查看全部问答>

pic代理

pic代理 禾琦商贸(原立奇国际)为Microchip全系列产品授权代理。公司于2002年获得Microchip(美国微芯公司)年度杰出服务奖。禾琦商贸亚洲区最大的代理商,全球前五大代理商之一。总年度营业额超过十亿美金。 公司具多位研发出身的专职应用工程 ...…

查看全部问答>

挑战史上最全UART驱动,哈哈。。。。

zhaojun_xf 同学写了个史上最全uart实验,但是却遇到了spritf的问题,偶要挑战之,哈哈!!为什么会出这个问题呢?因为内存不够用啦。那怎么办呢? 重写sprintf函数嘛?怎么重写呢?google or baidu 嘛。。。。。。。。。哈哈,以下程序参考printf- ...…

查看全部问答>

WinCE 屏保(屏幕关闭后显示一幅图片或一个功能)是怎么做的?

WinCE 屏保(屏幕关闭后显示一幅图片或一个功能)是怎么做的? …

查看全部问答>

PDA没有rs232

大家好 我的PDA没有rs232,请问怎样通过C#程序控制串口?…

查看全部问答>

急!~在EVC4下如何断点续传

VC下看到过例子但是移植过来函数都不认识,请问在EVC4 下如何写断点续传。 谁有做过这方面的例子,希望给小弟参考下~ …

查看全部问答>

紧急求助PCB布线的各位大虾!

急聘:高级布线(PCB layout)工程师   工作职责: 从事通信产品的PCB设计、仿真工作。   职位要求: 1)电子、无线电、通信或相关专业本科以上学历; 2)2年以上相关产品PCB设计开发经验; 3)熟练掌握一种或一种以上(Mentor, ...…

查看全部问答>

晒晒我30分钟的果实。洞洞版本的12864+18B20+1302红外遥控带闹钟万年历源程序

12864+18B20+1302万年历源程序 芯片我用的是STC89C58BD,其他的芯片没试验,请验证, /*定义DS18B20数据线*/ sbit DQ = P1^4; //定义DS1302时钟接口 sbit clock_clk = P3 ^4;//ds1302_clk(时钟线) sbit clock_dat = P3 ^5;//ds1302_dat(数 ...…

查看全部问答>

MSP430fr5739扩展FLASH(W25X16)

跪求帮助,小弟我遇到难题,我不知MSP430fr5739与扩展FLASH(W25X16)之间是怎么搞的,有没有哪位大侠有相关的程序,麻烦发到benbenming@sian.cn,谢谢…

查看全部问答>

求大神帮忙,msp430f149的编程问题

我们的课程设计要求设计一个医用秒表计时器,要求如下 1)医用高精度计时秒表 精度达0.001 启动按钮、暂停按钮及清零按钮 设计每到一秒钟有声音提醒功能,可通过按钮打开及关闭该提醒音 可记录3次或3次以上数据(分别显示或一起显示均可) 硬 ...…

查看全部问答>