打印

带有小数的不知道怎么发送

[复制链接]
3087|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizye|  楼主 | 2013-4-26 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lizye|  楼主 | 2013-4-26 19:40 | 只看该作者
别的都设好啦,能发的,比如发个AB或11,串口调试助手上面都能显示AB和11

使用特权

评论回复
板凳
yszong| | 2013-4-26 19:42 | 只看该作者
你AD采样出来的还是小数吗?

使用特权

评论回复
地板
huangchui| | 2013-4-26 19:42 | 只看该作者
你的“AB”、“11”是16进制数还是ASCII码?

使用特权

评论回复
5
shimx| | 2013-4-26 19:44 | 只看该作者
对,如果是16进制数,就没有办法看到小数点“.”。

使用特权

评论回复
6
lizye|  楼主 | 2013-4-26 19:45 | 只看该作者
哦,那咋办

使用特权

评论回复
7
jiaxw| | 2013-4-26 19:47 | 只看该作者
16进制转ASCII码的办法:

1、数值:加0x30。比方“9”,9+0x30=0x39

2、字符:从A开始,大写时为0x41递增,小写时0x61递增。比方“A”0x41、“B”0x42、“a”0x61、“b”0x62

3、其它:小数点0x2e、回车0x0d、换行0x0a

使用特权

评论回复
8
lizye|  楼主 | 2013-4-26 19:47 | 只看该作者
哦。。。差不多

使用特权

评论回复
9
zhaoxqi| | 2013-4-26 19:49 | 只看该作者
不知道楼主是要传数据还是为了显示,如果是为了显示转换成文字就可以了。将每一位数字及符号转换成字符送回上位机就可以了。如7楼所说。

使用特权

评论回复
10
lizye|  楼主 | 2013-4-26 19:50 | 只看该作者
想方便地传数据呢

使用特权

评论回复
11
zhenykun| | 2013-4-26 19:54 | 只看该作者
如果是想方便地传数据,float型是32位,double型是64位,转换成整数发出去,在上位机上再转换回来就可以了

使用特权

评论回复
12
lizye|  楼主 | 2013-4-26 19:54 | 只看该作者
zhenykun 发表于 2013-4-26 19:54
如果是想方便地传数据,float型是32位,double型是64位,转换成整数发出去,在上位机上再转换回来就可以了 ...
哦,懂了,PC和430都是小端的吧

使用特权

评论回复
13
zhenykun| | 2013-4-26 19:56 | 只看该作者
是的,给你个参考
01.float data_to_send = 1.23;

02.byte *p;

03.

04.p = (byte *)&data_to_send;

05.uart_send_byte(*p++);

06.uart_send_byte(*p++);

07.uart_send_byte(*p++);

08.uart_send_byte(*p);

使用特权

评论回复
14
lizye|  楼主 | 2013-4-26 19:56 | 只看该作者
哦,知道了多谢大家

使用特权

评论回复
15
huanghongxing| | 2013-4-26 23:16 | 只看该作者
可以采用ASCII来来处理,因为小数点有对应的数据

使用特权

评论回复
16
hht112358| | 2013-4-27 10:25 | 只看该作者
类型强制转换就可以了

使用特权

评论回复
17
HORSE7812| | 2013-4-27 10:34 | 只看该作者
用4个字节的无符号整数应该绰绰有余了,把小数放大转换成整数。

使用特权

评论回复
18
飞言走笔| | 2013-4-27 10:52 | 只看该作者
对,可以放大,比如1.23,就发123,上位再做相应处理,呵呵

使用特权

评论回复
19
andyding| | 2013-4-27 12:33 | 只看该作者
放大了发送,上下位机协定好

使用特权

评论回复
20
你好陌生人| | 2013-4-27 16:29 | 只看该作者
先把二进制改为十进制,然后用标准输入输出函数输出,就好了

使用特权

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

本版积分规则

852

主题

9757

帖子

2

粉丝