只要STM32或者其他32位單片機,自帶FPU功能,就可以加速float類型數據的加減乘除運算。
在STM32中要啟用FPU,需要啟動滿足兩個宏:(__FPU_PRESENT == 1) && (__FPU_USED == 1)


在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

FPU只能加速float的基本運算,還有一些數學函數,不是光靠FPU就能加速的,例如sin、cos、等函數,ARM,ST,GD,APM等廠商提供了優化過的三角函數等,建議直接使用。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6076文章
45495瀏覽量
670343 -
FPU
+關注
關注
0文章
46瀏覽量
22864 -
運算效率
+關注
關注
0文章
2瀏覽量
5474
發布評論請先 登錄
相關推薦
熱點推薦
如何提高位運算效率
位運算加速技巧本方法可以讓c語言指令進一步接近匯編指令的執行效率,提高單片機,嵌入式系統的速度和穩定性,但編程時應采取函數化的編程法——例如使用swap()函數時,必要時加注釋。注:本
發表于 12-09 08:21
單片機教程十一:單片機算術運算指令、單片機邏輯運算類指令
單片機教程十一:單片機算術運算指令
不帶進位位的單片機加法指令
ADD A,#DATA ;例:ADD A,#10H
ADD A,direct ;例:ADD A,10H
ADD
發表于 05-15 23:06
?3531次閱讀
單片機學習入門之單片機基礎知識詳細資料概述
本文檔的主要內容詳細介紹的是單片機學習入門之單片機基礎知識詳細資料概述主要內容包括了:1 MCS-51單片機內部結構2 構建單片機最小系統3
發表于 10-24 11:50
?80次下載
提高單片機編程效率的基本小技巧
就掌握的。 新手的難路虎還有開發環境,相對于純C的編程,單片機的開發環境還要配置參數,設定各種選項什么的,另外還會碰到各種語言上不好理解的錯誤,這個也是慢慢來吧。 當然當上述兩個基礎打通了以后,再想提高主要就是靠語言
51單片機之簡介
51單片機之簡介前提:學習單片機前需要了解的知識模擬電子技術???※※※※數字電子技術???※※※※※C語言基礎 ????※※※※※如何學好單片機加強
發表于 11-05 10:50
?11次下載
《電子DIY》之《單片機實踐項目》之基于單片機的簡易數字秒表的設計(Proteus仿真與實物制作)
《單片機實踐項目》之基于單片機的簡易數字秒表的設計(八十二)鏈接:添加鏈接描述
發表于 11-12 20:21
?20次下載
位運算效率提高方式
位運算加速技巧本方法可以讓c語言指令進一步接近匯編指令的執行效率,提高單片機,嵌入式系統的速度和穩定性,但編程時應采取函數化的編程法——例如使用swap()函數時,必要時加注釋。注:本
發表于 11-26 11:06
?2次下載
《電子DIY》之《單片機實踐項目》之基于單片機的電子時鐘設計與制作(基于單片機的萬年歷的設計與制作)
《電子DIY》之《單片機實踐項目》之基于單片機的電子時鐘設計與制作(基于單片機的萬年歷的設計與制作)添加鏈接描述
發表于 01-18 09:47
?18次下載
如何提高單片機的運算效率之FPU
評論