打印

通过串口怎样传送一个浮点数到上位机呢?

[复制链接]
10016|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxq1234508|  楼主 | 2008-11-24 16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xhtxzxw| | 2008-11-24 16:35 | 只看该作者

嘿嘿

你自己定义一个协议不就行了?

RS232协议是面向"字符"的,所以你要做的就是:
(发送端)浮点数--->字符串转换
(接收端)字符串--->浮点数转换

使用特权

评论回复
板凳
zxq1234508|  楼主 | 2008-11-24 16:45 | 只看该作者

谢谢LS

我用的串口调试助手,串口自收发浮点数是可以的。下面完成浮点数--->字符串转换后,串口调试助手能转换成浮点数吗

使用特权

评论回复
地板
xhtxzxw| | 2008-11-24 17:04 | 只看该作者

嘿嘿

似乎不能
自己动手吧!啥都现成的,自己干嘛去啊?
PC端自己写个小程序就行了嘛!

使用特权

评论回复
5
sz_kd| | 2008-11-24 17:14 | 只看该作者

把你的浮点数的每位换成字符形式发送

串口就可以收到啊

使用特权

评论回复
6
ic_ic| | 2008-11-24 17:17 | 只看该作者

你用串口自收发怎么做的?

不会是就发送123.45把,这样发送的都是一个一个字符,你又自收发,当然就OK.
但实际用的时候可不是这样的.

使用特权

评论回复
7
音乐乐乐| | 2008-11-24 17:19 | 只看该作者

发四个字节不就行了?

使用特权

评论回复
8
mohanwei| | 2008-11-24 17:29 | 只看该作者

平台固定的话,内存拷贝也是不错的办法。

使用特权

评论回复
9
dengm| | 2008-11-24 17:45 | 只看该作者

把 0/1/0/1 给上位机就可以了

使用特权

评论回复
10
王紫豪| | 2008-11-24 20:28 | 只看该作者

爱死普润特爱抚

使用特权

评论回复
11
ayb_ice| | 2008-11-24 20:44 | 只看该作者

估计LZ不熟悉浮点数

使用特权

评论回复
12
qingheworkshop| | 2008-11-25 13:46 | 只看该作者

最简单的而方法,编程最简单,也不需要了解浮点数协议

单片机和PC软件均把浮点数定义成联合体就行了,这样根本不需要了解浮点数规则
union FU
{
   float fData;
   unsigned char cData[4];
} UFDATA;

发送和接收直接操作字节就行,用memcpy拷贝就可以。


使用特权

评论回复
13
xinruzhishui| | 2014-8-19 22:28 | 只看该作者
xhtxzxw 发表于 2008-11-24 16:35
你自己定义一个协议不就行了?RS232协议是面向"字符"的,所以你要做的就是发送端)浮点数---&gt字符串转换( ...

你好   愿听详细指导

使用特权

评论回复
14
xinruzhishui| | 2014-8-19 22:30 | 只看该作者
qingheworkshop 发表于 2008-11-25 13:46
单片机和PC软件均把浮点数定义成联合体就行了,这样根本不需要了解浮点数规则union FU{  &n ...

具体怎么收发呢

使用特权

评论回复
15
QuakeGod| | 2014-8-19 23:25 | 只看该作者
收发需要处理串口协议栈,最好加一个缓冲区,每次收到一定数量的字节后,一并处理

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

486

帖子

0

粉丝