玩过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 上传
点击文件名下载附件
程序
说明一下本程序只是文本文档不是工程,当然源码不会少的,建立工程立马可用。。。。。欢迎大家交流学习。
无符号长整型数据怎么显示
unsigned long n;
n = 123456789;
printf("%d",n); 或者 printf("%d",(unsigned long)(n));
结果都显示:18838
无符号长整型数据一般不能强制转换类型一般printf只是无符号整形数据(具体我倒没测试,测试完了再告诉你吧!!),再说单片机处理无符号长整型数据有点吃力啊!!!
一周热门 更多>