OpenEdv-开源电子网

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

STM32F407的FPU浮点运算,能处理双精度的浮点运算吗?

[复制链接]

41

主题

113

帖子

0

精华

高级会员

Rank: 4

积分
626
金钱
626
注册时间
2016-12-16
在线时间
222 小时
发表于 2017-12-27 16:58:30 | 显示全部楼层 |阅读模式
1金钱
STM32F407的FPU浮点运算,能处理双精度的浮点运算吗?

最佳答案

查看完整内容[请看2#楼]

http://www.openedv.com/thread-46643-1-1.html 我今天看原子哥的UCOS开发手册说[/backcolor] [/backcolor][/backcolor]如果使能了 FPU 单元的话就可以使用它来对单精度浮点数进行计算,双精度浮[/backcolor] 点数的计算仍然要使用到C 运行库。[/backcolor] 那也就是FPU只能运算float类型[/backcolor] [/backcolor] 后边又说浮点寄存器可以两个32位组成一个双精度的寄存器[/backcolor] [/backcolor] 然后我今天看了一 ...
https://shop298719590.taobao.com/
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

41

主题

113

帖子

0

精华

高级会员

Rank: 4

积分
626
金钱
626
注册时间
2016-12-16
在线时间
222 小时
 楼主| 发表于 2017-12-27 16:58:31 | 显示全部楼层
http://www.openedv.com/thread-46643-1-1.html

我今天看原子哥的UCOS开发手册说
  如果使能了 FPU 单元的话就可以使用它来对单精度浮点数进行计算,双精度浮
点数的计算仍然要使用到C 运行库。
那也就是FPU只能运算float类型

后边又说浮点寄存器可以两个32位组成一个双精度的寄存器

然后我今天看了一下我的代码 double类型还是用了V指令
确实是调用了C库里的函数 比如__aeabi_dmul, __aeabi_ddiv, __aeabi_dadd

然后就明白了

FPU确实只能计算单精度浮点数!
曾经天真的以为双精度也可以

刚改了改代码!
如果计算float*3.0
一定要写成float*3.0f
要不然还是会调用库函数

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-28 01:16:19 | 显示全部楼层
肯定是可以,但是是否是用硬件FPU,我就不知道了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-23 19:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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