0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何提高单片机的运算效率之FPU

撞上电子 2024-08-30 11:47 次阅读

只要STM32或者其他32位单片机,自带FPU功能,就可以加速float类型数据的加减乘除运算。

在STM32中要启用FPU,需要启动满足两个宏:(__FPU_PRESENT == 1) && (__FPU_USED == 1)

8bcf800e-6682-11ef-89ff-92fbcf53809c.png

8be72178-6682-11ef-89ff-92fbcf53809c.png

keil的魔术棒中,如上图所示,直接选中单精度浮点运算器,keil就会自动把所需的宏给定义出来。如何验证是否开启成功?
. z. ~/ |* ~1 ?
验证方法1:
运行单片机程序,不选中/选中FPU,分别做10万次乘法:发现耗时不同,则说明开启FPU成功了。
# x& g8 C/ p# Y: ~e: K4 T
验证方法2:; U. o+ ~/ h6 _6 r+ O
进入debug模式,或者直接查看汇编文件,发现C语言乘法运算,被编译成了V打头的汇编乘法命令,说明开启成功。/ e2 J: V# P9 k" |+ c" f% P

8bf98cdc-6682-11ef-89ff-92fbcf53809c.png

FPU只能加速float的基本运算,还有一些数学函数,不是光靠FPU就能加速的,例如sin、cos、等函数,ARM,ST,GD,APM等厂商提供了优化过的三角函数等,建议直接使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6020

    文章

    44349

    浏览量

    628054
  • FPU
    FPU
    +关注

    关注

    0

    文章

    41

    浏览量

    21198
  • 运算效率
    +关注

    关注

    0

    文章

    2

    浏览量

    5345
收藏 人收藏

    评论

    相关推荐

    如何提高运算效率

    运算加速技巧本方法可以让c语言指令进一步接近汇编指令的执行效率提高单片机,嵌入式系统的速度和稳定性,但编程时应采取函数化的编程法——例如使用swap()函数时,必要时加注释。注:本
    发表于 12-09 08:21

    单片机提高篇)

    单片机提高篇)
    发表于 03-21 20:52 123次下载

    学51单片机单片机基础知识

    带您从零学51单片机单片机基础知识 目录1 什么是单片机2 单片机能做什么3 为什么要学单片机
    发表于 02-10 14:33 158次下载

    单片机PPT篇

    单片机PPT篇 单片机特点及其发展概况•单片机区别于微处理器•单片机的广泛应用
    发表于 04-09 14:04 70次下载

    单片机教程十一:单片机算术运算指令、单片机逻辑运算类指令

    单片机教程十一:单片机算术运算指令 不带进位位的单片机加法指令 ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD
    发表于 05-15 23:06 2973次阅读

    IC解密单片机算术运算指令

    单片机算术运算指令汇总,不带进位位的单片机加法指令,由于51单片机是一种8位,所以只能做8位的数**算,但8位
    发表于 11-29 11:55 1250次阅读

    单片机密码锁

    STC80C51--单片机密码锁源程序。
    发表于 09-01 15:44 37次下载

    单片机实验提高源程序

    单片机实验提高源程序
    发表于 03-19 19:49 10次下载

    单片机学习入门单片机基础知识详细资料概述

    本文档的主要内容详细介绍的是单片机学习入门单片机基础知识详细资料概述主要内容包括了:1 MCS-51单片机内部结构2 构建单片机最小系统3
    发表于 10-24 11:50 77次下载
    <b class='flag-5'>单片机</b>学习入门<b class='flag-5'>之</b><b class='flag-5'>单片机</b>基础知识详细资料概述

    提高单片机编程效率的基本小技巧

    就掌握的。 新手的难路虎还有开发环境,相对于纯C的编程,单片机的开发环境还要配置参数,设定各种选项什么的,另外还会碰到各种语言上不好理解的错误,这个也是慢慢来吧。 当然当上述两个基础打通了以后,再想提高主要就是靠语言
    的头像 发表于 03-12 16:43 2705次阅读

    51单片机简介

    51单片机简介前提:学习单片机前需要了解的知识模拟电子技术   ※※※※数字电子技术   ※※※※※C语言基础     ※※※※※如何学好单片机加强
    发表于 11-05 10:50 11次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>之</b>简介

    《电子DIY》单片机实践项目》基于单片机的三路抢答器设计与制作

    《电子DIY》单片机实践项目》基于单片机的三路抢答器设计与制作添加链接描述
    发表于 11-05 11:21 22次下载
    《电子DIY》<b class='flag-5'>之</b>《<b class='flag-5'>单片机</b>实践项目》<b class='flag-5'>之</b>基于<b class='flag-5'>单片机</b>的三路抢答器设计与制作

    《电子DIY》单片机实践项目》基于单片机的简易数字秒表的设计(Proteus仿真与实物制作)

    单片机实践项目》基于单片机的简易数字秒表的设计(八十二)链接:添加链接描述
    发表于 11-12 20:21 20次下载
    《电子DIY》<b class='flag-5'>之</b>《<b class='flag-5'>单片机</b>实践项目》<b class='flag-5'>之</b>基于<b class='flag-5'>单片机</b>的简易数字秒表的设计(Proteus仿真与实物制作)

    单片机认识单片机

    单片机认识单片机1、什么是单片机单片机就是一块集成芯片,专业语言讲单片机就是在一块硅片上集成
    发表于 11-14 17:06 7次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>之</b>认识<b class='flag-5'>单片机</b>

    《电子DIY》单片机实践项目》基于单片机的电子时钟设计与制作(基于单片机的万年历的设计与制作)

    《电子DIY》单片机实践项目》基于单片机的电子时钟设计与制作(基于单片机的万年历的设计与制作)添加链接描述
    发表于 01-18 09:47 18次下载
    《电子DIY》<b class='flag-5'>之</b>《<b class='flag-5'>单片机</b>实践项目》<b class='flag-5'>之</b>基于<b class='flag-5'>单片机</b>的电子时钟设计与制作(基于<b class='flag-5'>单片机</b>的万年历的设计与制作)