独闷闷网

 找回密码
 立即注册
搜索
查看: 3030|回复: 2
收起左侧

[原创] 串口怎么样发送浮点数据?可以用printf函数吗?已解答。

[复制链接]
发表于 2014-11-8 18:52:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
安徽 —杨:
怎么设置串口使他打印浮点型数字?

鸿哥-深圳:
不要用字符。直接用十六进制。另外,在单片机的世界里,串口传的都是十六进制的数据或者ASCII码,没有打印浮点数的。我做项目从来不用字符。即使有字符,也是把他翻译成十六进制的ASCII码来进行发送.比如,你要发送0.1的数据,0.1就包含3个十六进制的ASCII码30 2E 31.

纯农民-杭州:
转换过来后可以用atof转换过来,鸿哥,是不是?

鸿哥-深圳:
我在单片机的世界里,从来不用类似atof这样的转换函数。转换函数都是自己重新写.


Tony--青岛:
1.png
2.jpg
这个不算吗?

鸿哥-深圳:
接受到的这些字符,其实单片机本质上是发送这些字符的十六进制ASCII码。

安徽 —杨:
因为我想通过计算来打印计算出来的值

鸿哥-深圳:
你需要自己做一些数值与显示的转换函数。

纯农民-杭州:
那sprintf在单片机中用的多不多

鸿哥-深圳:
我从来不用。自己做发送函数。自己做转换函数。单片机串口的本质是发送十六进制数据,这个是本质。

安徽 —杨:
感觉这样做有点难度啊。

鸿哥-深圳:
其实对我来说很简单的。这些你们不要急,以后玩多了就会觉得不难。建议你看看我连载文章《从业将近十年...程序框架》关于串口那部分的内容。


纯农民-杭州:
以前做过lcd显示,也是用自己的函数简单转换。现在网友提起,就想能不能用库函数。

鸿哥-深圳:
如果你是用stm32单片机,可以把printf函数经过调整后,直接当发送字符函数来用,但是本质上还是跟自己做的发送函数一样。反正做单片机项目,我从来不用printf函数。喜欢自己重新写发送函数,自己写的函数自己明白,遇到问题不会感觉有黑匣子的感觉。

纯农民-杭州:
嗯嗯,谢鸿哥。


乐于分享,勇于质疑!
发表于 2014-11-8 23:24:04 | 显示全部楼层
鸿哥的意思是想告诉我们,调用库函数自己心里没底,不能完全知道那些库函数的实现方式吗?
乐于分享,勇于质疑!
 楼主| 发表于 2014-11-9 08:05:39 | 显示全部楼层
Acksman 发表于 2014-11-8 23:24
鸿哥的意思是想告诉我们,调用库函数自己心里没底,不能完全知道那些库函数的实现方式吗?

对。而且很多不是很实用。即使实用,你也要花很多时间进去了解这个黑匣子的工作规律,与其这样还不如自己编写一个函数来实现,这样更加方便快捷,而且可靠。
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-6-18 11:44 , Processed in 0.201648 second(s), 20 queries .

快速回复 返回顶部 返回列表