只要STM32或者其他32位單片機(jī),自帶FPU功能,就可以加速float類型數(shù)據(jù)的加減乘除運(yùn)算。
在STM32中要啟用FPU,需要啟動(dòng)滿足兩個(gè)宏:(__FPU_PRESENT == 1) && (__FPU_USED == 1)
在keil的魔術(shù)棒中,如上圖所示,直接選中單精度浮點(diǎn)運(yùn)算器,keil就會(huì)自動(dòng)把所需的宏給定義出來。如何驗(yàn)證是否開啟成功?
. z. ~/ |* ~1 ?
驗(yàn)證方法1:
運(yùn)行單片機(jī)程序,不選中/選中FPU,分別做10萬次乘法:發(fā)現(xiàn)耗時(shí)不同,則說明開啟FPU成功了。
# x& g8 C/ p# Y: ~e: K4 T
驗(yàn)證方法2:; U. o+ ~/ h6 _6 r+ O
進(jìn)入debug模式,或者直接查看匯編文件,發(fā)現(xiàn)C語言乘法運(yùn)算,被編譯成了V打頭的匯編乘法命令,說明開啟成功。/ e2 J: V# P9 k" |+ c" f% P
FPU只能加速float的基本運(yùn)算,還有一些數(shù)學(xué)函數(shù),不是光靠FPU就能加速的,例如sin、cos、等函數(shù),ARM,ST,GD,APM等廠商提供了優(yōu)化過的三角函數(shù)等,建議直接使用。
-
單片機(jī)
+關(guān)注
關(guān)注
6050文章
44703瀏覽量
641299 -
FPU
+關(guān)注
關(guān)注
0文章
42瀏覽量
21469 -
運(yùn)算效率
+關(guān)注
關(guān)注
0文章
2瀏覽量
5385
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何提高位運(yùn)算效率
學(xué)51單片機(jī)之單片機(jī)基礎(chǔ)知識(shí)
單片機(jī)之PPT篇
單片機(jī)教程十一:單片機(jī)算術(shù)運(yùn)算指令、單片機(jī)邏輯運(yùn)算類指令
IC解密之單片機(jī)算術(shù)運(yùn)算指令
單片機(jī)學(xué)習(xí)入門之單片機(jī)基礎(chǔ)知識(shí)詳細(xì)資料概述

提高單片機(jī)編程效率的基本小技巧
51單片機(jī)之簡(jiǎn)介

《電子DIY》之《單片機(jī)實(shí)踐項(xiàng)目》之基于單片機(jī)的三路搶答器設(shè)計(jì)與制作

《電子DIY》之《單片機(jī)實(shí)踐項(xiàng)目》之基于單片機(jī)的簡(jiǎn)易數(shù)字秒表的設(shè)計(jì)(Proteus仿真與實(shí)物制作)

單片機(jī)之認(rèn)識(shí)單片機(jī)

《電子DIY》之《單片機(jī)實(shí)踐項(xiàng)目》之基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與制作(基于單片機(jī)的萬年歷的設(shè)計(jì)與制作)

評(píng)論