智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2403|回复: 8
打印 上一主题 下一主题

[软件类] 多位数据串口怎么发送

[复制链接]

17

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1077
威望
501
贡献
196
兑换币
44
注册时间
2012-4-4
在线时间
190 小时
毕业学校
唐山师范
跳转到指定楼层
1#
发表于 2012-5-23 13:20:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
32位的数据,怎么分开,在串口上发送,比如定义的 float Angle,把Angle在串口上怎么发送出去

12

主题

259

帖子

0

精华

跨届大侠

其实是新手一个

Rank: 10Rank: 10Rank: 10

积分
7262

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

威望
4543
贡献
1731
兑换币
619
注册时间
2012-2-12
在线时间
494 小时
2#
发表于 2012-5-23 14:14:46 | 只看该作者
浮点数……蛋疼啊……不知道
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1077
威望
501
贡献
196
兑换币
44
注册时间
2012-4-4
在线时间
190 小时
毕业学校
唐山师范
3#
 楼主| 发表于 2012-5-23 15:02:58 | 只看该作者
lsdoo· 发表于 2012-5-23 14:14
浮点数……蛋疼啊……不知道

加个口口聊吧,1247716291
回复 支持 反对

使用道具 举报

0

主题

125

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
威望
825
贡献
426
兑换币
166
注册时间
2012-4-28
在线时间
304 小时
4#
发表于 2012-5-23 15:22:22 | 只看该作者
1.精度够的话扩大为int
2.用联合
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1077
威望
501
贡献
196
兑换币
44
注册时间
2012-4-4
在线时间
190 小时
毕业学校
唐山师范
5#
 楼主| 发表于 2012-5-23 15:55:52 | 只看该作者
基佬 发表于 2012-5-23 15:22
1.精度够的话扩大为int
2.用联合

加个qq吧1247716291
回复 支持 反对

使用道具 举报

8

主题

145

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1021
威望
570
贡献
137
兑换币
22
注册时间
2011-9-19
在线时间
157 小时
6#
发表于 2012-5-23 17:01:20 | 只看该作者
先乘一个数转化为整型,如:你想要小数点后的三位数就乘1000;  (25.3456*1000->25345),尔后分为高16位和低16位;  再把两个16位转化为高8位和低8位就行了
设数为 a ,数据存在一个数组中char data[4];
b=(int)(a*1000);
data[3]=(b/65536 )/256;
data[2]=(b/65536 )%256;
data[1]=(b%65536 )/256;
data[0]=(b%65536 )%256;

再反过来就行了,我抛个板砖,求大神指教

  
回复 支持 反对

使用道具 举报

4

主题

487

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2981

活跃会员奖章优秀会员奖章

QQ
威望
2216
贡献
489
兑换币
53
注册时间
2010-11-10
在线时间
138 小时
7#
发表于 2012-5-23 17:54:59 | 只看该作者
etoah 发表于 2012-5-23 17:01
先乘一个数转化为整型,如:你想要小数点后的三位数就乘1000;  (25.3456*1000->25345),尔后分为高16位和低1 ...

呵呵 不错 测速也可这样返回呀 非常感谢
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1077
威望
501
贡献
196
兑换币
44
注册时间
2012-4-4
在线时间
190 小时
毕业学校
唐山师范
8#
 楼主| 发表于 2012-5-26 17:22:12 | 只看该作者
etoah 发表于 2012-5-23 17:01
先乘一个数转化为整型,如:你想要小数点后的三位数就乘1000;  (25.3456*1000->25345),尔后分为高16位和低1 ...

谢谢
回复 支持 反对

使用道具 举报

3

主题

17

帖子

0

精华

高级会员

Rank: 4

积分
670
威望
340
贡献
168
兑换币
34
注册时间
2012-4-1
在线时间
81 小时
毕业学校
邯郸一中
9#
发表于 2012-5-27 11:30:33 | 只看该作者
etoah 发表于 2012-5-23 17:01
先乘一个数转化为整型,如:你想要小数点后的三位数就乘1000;  (25.3456*1000->25345),尔后分为高16位和低1 ...

乘以1000后,在什么时候除以1000呢,有12位AD转换,最大值4096,太大了显示不了,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-1 07:46 , Processed in 0.051357 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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