关于printf函数转重定向到串口我在此讲一下!!!

2020-01-15 19:22发布

   玩过STM32的应该都是知道的关于把串口重定向到printf函数那边,但是发现单片机的比较少的,但是我还是想用一下。当然printf函数的用处和好处就不必多说了!!他可以输出任意的字符,16进制数,浮点数,包括各式的定义等等。
  好了!废话不多说了下面我就以实际例子讲一下。但是还得告诉大家我的设备。单片机是STC12C5204AD。用的是keil2虽然老了点但是本人用着可以。
  先上一张图片吧!! P(04L6NRFBYK6}60W565IJI.jpg (108.52 KB, 下载次数: 1) 下载附件 2012-5-31 20:44 上传 仔细看第一行数据就能看到我打印出的字符。并且还能看到程序走的步骤,走到哪一步了,都能得到而且很方便。
   所有的一切都搞定了就可以进行AD转换了。就会看到最长的哪一个字符串,就是我在开始讲的那一串字符数据,程序如下完全是C语言的printf风格。
   printf(" EMD电子科技 AD_Data: %f V P1: %X Boud_Rate: %d Eeprom: %d ",(float)(AD_Data),(uint)(P1),(uint)(Boud_Value),(uint)(temp1));
   经过以上讲解大家就可以随意使用串口打印自己想要的东西啦!!!!
   如有更好的望高手提出共同学习!!!
   最后上程序吧!!!
    串口.rar (2.95 KB, 下载次数: 383) 2012-5-31 20:56 上传 点击文件名下载附件
程序

  说明一下本程序只是文本文档不是工程,当然源码不会少的,建立工程立马可用。。。。。欢迎大家交流学习。
   
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
NEXEN1106
1楼-- · 2020-01-20 03:48
这个要学习一下
canspider
2楼-- · 2020-01-20 06:40
这个可以研究一下
guanglv2008
3楼-- · 2020-01-20 11:04
想好好用用这个函数   谢谢分享。。。。
winterw
4楼-- · 2020-01-20 16:30
mark 一下,谢谢楼主分享
fancyboy
5楼-- · 2020-01-20 21:26
 精彩回答 2  元偷偷看……
lize91
6楼-- · 2020-01-20 23:03
想打印浮点数遇到了麻烦,只好找别人写好的东西。
楼主的办法我好像看的迷迷糊糊的,但是有启发,刚试出来一种办法
1、把C:KeilC51LIB 目录下的putchar.c文件复制到工程目录下,然后加进工程,改写里面的芯片寄存器头文件包含(天朝芯片的寄存器头文件#include "xxx.h")
2、在初始化串口函数的最后一句增加SBUF=0;这么一句,不加这一句是不行的。
3、包含头文件#include <stdio.h> 具体printf的参数可以搜索当前keil的帮助文档 里面很详细。
keil 版本是 V952,感觉比自己写的打印函数强大多了!

一周热门 更多>