OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6574|回复: 16

spi上如何传输浮点数?

[复制链接]

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
发表于 2016-3-7 11:41:40 | 显示全部楼层 |阅读模式
一块板子是飞凌的ARM作为上位机,下位机是stm32,对浮点数应该如何传输??(如果用数组,应该怎么发送?)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-7 11:42:11 | 显示全部楼层
回复 支持 反对

使用道具 举报

9

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1134
金钱
1134
注册时间
2014-7-25
在线时间
176 小时
发表于 2016-3-7 11:48:30 | 显示全部楼层
*1000,
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-7 11:51:40 | 显示全部楼层

我试试。。
回复 支持 反对

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-3-7 11:58:08 | 显示全部楼层

如果是小于1/1000呢?  那岂不是得到0了
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-7 11:59:59 | 显示全部楼层
HER107 发表于 2016-3-7 11:58
如果是小于1/1000呢?  那岂不是得到0了

应对工业控制的,不会小于1的,不过这也是个问题。。。
回复 支持 反对

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2016-3-7 12:12:24 | 显示全部楼层
浮点数也是一个内存块,传输内存块和类型有什么关系
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-7 15:11:20 | 显示全部楼层
myxiaoniao 发表于 2016-3-7 12:12
浮点数也是一个内存块,传输内存块和类型有什么关系

嗯嗯,也是。可是spi一次性又传输不了这么大的内存,但是又要求要一次性传输。。。该怎么办呢??
回复 支持 反对

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-3-7 16:24:10 | 显示全部楼层
本帖最后由 HER107 于 2016-3-7 16:32 编辑

格式化成字符串再传送! 或者 拆分为 4个字节来传送!
回复 支持 反对

使用道具 举报

2

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2012-5-7
在线时间
8 小时
发表于 2016-3-7 20:09:17 | 显示全部楼层
HER107 发表于 2016-3-7 16:24
格式化成字符串再传送! 或者 拆分为 4个字节来传送!

运用联合体,将浮点数拆成四个字节发送。
耐心做事,好好做人。O(∩_∩)O!
回复 支持 反对

使用道具 举报

9

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1134
金钱
1134
注册时间
2014-7-25
在线时间
176 小时
发表于 2016-3-8 13:24:08 | 显示全部楼层
HER107 发表于 2016-3-7 11:58
如果是小于1/1000呢?  那岂不是得到0了

继续加大。
回复 支持 反对

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-3-8 13:48:41 | 显示全部楼层

这个方法 没什么优点!! 当然精度要求不高可以,最有效率而且精度最好的方法就是 拆分为字节传送!!
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-8 14:10:04 | 显示全部楼层
HER107 发表于 2016-3-8 13:48
这个方法 没什么优点!! 当然精度要求不高可以,最有效率而且精度最好的方法就是 拆分为字节传送!!

上位机搞得不是很懂,所以拆分成字节肯定行,但还要时间。。
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-7-25
在线时间
6 小时
 楼主| 发表于 2016-3-8 14:20:37 | 显示全部楼层
我顶,我再顶。。在上位机输入三个数通过spi如何传到stm32?并且在stm32上能对应分配给三个变量。。
回复 支持 反对

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-3-8 14:29:56 | 显示全部楼层
cuining 发表于 2016-3-8 14:10
上位机搞得不是很懂,所以拆分成字节肯定行,但还要时间。。

需要时间??? 用共同体就可以了啊!都不需要运算!! 比你用乘法扩大N倍 这种方法 快多了!!!
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2016-3-8 14:40:48 | 显示全部楼层
传浮点数跟SPI有什么关系,浮点数32位 4字节,8位一发,接收端再拼起来就行了
回复 支持 反对

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-3-8 20:28:33 | 显示全部楼层
定义联合体最好了
typedef union
{
   float f;
   char c[4];
}Example;
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 19:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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