历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2020年03月08日 | 51单片机实现printf

2020-03-08 来源:eefocus

printf函数在格式化输出时,向下调用了char putchar(char c);这个函数,在“stdio.h”里可以发现有这个函数,所以我们需要自己构造一个这样的函数,即通过串口putchar(),代码如下:


char putchar(char c)//重定向

{

Uart_SendChar(c);

return c;

}

 

void Uart_SendChar(unsigned char  dat)

{

    SBUF = dat; 

    while(!TI); 

    TI = 0; 

}

然后串口初始化之后,将"stdio.h"头文件包含,就可以使用printf函数了。



NOTE:


使用stdio库中的printf函数将会增加1k左右的代码量,在小容量的51单片机中慎重使用!!

推荐阅读

史海拾趣

Asia Electronics Ind Co Ltd公司的发展小趣事

面对日益激烈的市场竞争,Asia Electronics Ind Co Ltd深知优化供应链管理的重要性。公司加强与供应商的合作与沟通,确保原材料的质量和供应的稳定性。同时,公司还引入先进的供应链管理系统,实现供应链的透明化和高效化。通过优化供应链,公司降低了生产成本,提高了生产效率,为公司的持续发展提供了有力保障。

Emerging Display Technolgies公司的发展小趣事

某新兴显示技术公司,专注于柔性显示技术的研发。随着市场对可折叠、可卷曲电子设备需求的增加,该公司投入巨资研发新一代柔性屏幕。经过数年的努力,他们成功开发出了具有超高柔韧性、清晰度和耐用性的显示屏。这一技术的突破,不仅为智能手机、平板电脑等移动设备带来了全新的形态设计,也为可穿戴设备、车载显示等领域提供了更多可能性。

全智景(Allvision)公司的发展小趣事

随着技术的不断进步,全智景公司开始寻求跨界合作的机会,以拓展其技术的应用领域。公司与多家汽车制造商达成了合作协议,将其电子视觉技术应用于汽车自动驾驶系统。通过精准的图像识别和处理,全智景的技术帮助汽车实现了更高级别的自动驾驶功能,提升了行车安全性和驾驶体验。这一跨界合作不仅拓宽了全智景公司的业务范围,也为其带来了更多的商业机会。

HDK(北陆电气)公司的发展小趣事

在追求经济效益的同时,全智景公司也积极履行社会责任,致力于可持续发展。公司注重环保和节能技术的研发和应用,推出了多款绿色环保的产品。同时,全智景公司还积极参与社会公益事业,捐款捐物支持灾区重建和贫困地区的教育事业。这些举措不仅彰显了公司的社会责任感,也为公司的可持续发展奠定了坚实的基础。

通过以上五个故事,我们可以看到全智景公司在电子行业里的发展历程。从技术突破引领市场,到跨界合作拓展应用;从持续创新引领潮流,到全球化战略助力发展;再到履行社会责任与可持续发展。全智景公司以其坚定的信念和不懈的努力,在电子行业中取得了显著的成就。

FCT Electronics公司的发展小趣事

随着电子行业的快速发展,市场竞争日益激烈。为了应对挑战,FCT Electronics不断加大研发投入,推出了一系列具有自主知识产权的新产品。同时,公司还加强了与高校、研究机构的合作,引进了一批高素质的人才,为公司的持续发展注入了新的活力。

ELM Technology Corporation公司的发展小趣事

ELM Technology Corporation非常重视企业文化的建设。公司倡导“创新、协作、诚信、责任”的企业精神,鼓励员工积极创新、勇于担当。同时,公司还为员工提供了良好的工作环境和福利待遇,增强了员工的归属感和凝聚力。这种积极向上的企业文化为ELM的持续发展提供了强大的动力。

请注意,以上故事仅为概述,具体细节和事实需要根据ELM Technology Corporation的实际情况进行补充和完善。

问答坊 | AI 解惑

苹果iPod touch拆解分析

iPod touch播放器是苹果iPod家族系列中的最新一员。iPod Touch播放器与iPhone手机极为相似,被认为是“没有通话功能的iPhone”,另外,同iPhone相比,iPod Touch没有蓝牙功能。但是,iPhone手机用户的一些核心体验在iPod touch上都仍然保留,比如,iP ...…

查看全部问答>

在晒一块官方网上的开发板NXP LPC1768

  mbed NXP LPC1768     哈哈,这个按键太帅了,像颗宝石!…

查看全部问答>

SD卡保护

如何获取SD卡特征码? 现在SD卡都是当作存储介质用,其实据说它是有安全特征码的,不知道如何获取呢。…

查看全部问答>

Linux学习讨论,嵌入式开发,加群74459776

Linux学习讨论,嵌入式开发,加群74459776 请注意发色情内容、广告、诅咒类信息 踢!!! 看见请回复顶起!谢谢…

查看全部问答>

为什么在wince上无法用directdraw创建OFFSCREENPLAIN?

我要在一个板上用directdraw显示yuv图象,我是定制系统有把ddraw加到系统上, wince的例程能运行(ddex1,2 3都能运行,就那个蚊子没有什么动静),说明我的版是有支持ddraw. 但我在创建OFFSCREENPLAIN的时候,不能创建成功, 我参数设置如下:   &n ...…

查看全部问答>

提供一个汇编的集成环境MASM611

怎样安装到网上搜去(注意安装完了改那个后缀名,至于有些文档里说的改环境变量什么的,我觉得没有必要) 安装完注意的问题:调试的时候调试窗口不是自己写的源程序时 在编辑状态的点击OPTIONS--->Build OPTIONS在弹出的窗口选中use debug optio ...…

查看全部问答>

UIP学习笔记1

8962的开发板用FlashUserGet()函数并不能从内部得到MAC地址,所以在uip的例程里要直接赋值给ulUser0和ulUser1.为了方便和明显,我这里在FlashUserGet(&ulUser0, &ulUser1);这一语句之后直接设置MAC地址:    ulUser0=0xaaaaaa;&nbs ...…

查看全部问答>

万利的板子现在还能199买到吗?人在深圳。

                                 Re:…

查看全部问答>

运放输出稳定,AD采集结果向一个方向漂移

我用AD8551跨导方式放大光电二极管输出电流(I-V),用万用表检测AD8551输出端结果非常稳定,但是用MAX1304做AD采集,结果却一直向小的方向漂移,大约一个小时漂移10mv(8551输出3v左右时)。现在AD8551输出直接接了AD的输入端。原来曾试过加RC滤波 ...…

查看全部问答>