久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2334|回復: 21
打印 上一主題 下一主題
收起左側

請教各位單片機開中斷能用除法嗎?

  [復制鏈接]
跳轉到指定樓層
樓主
看單片機說明,中斷會干擾浮點運算。問題來了,除法是浮點運算嗎?開中斷時能用嗎?若不能用,顯示各位數字時怎么辦?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1000469 發表于 2022-1-7 09:37 | 只看該作者
看變量類型,整型變量除法的就是整型
回復

使用道具 舉報

板凳
ID:661945 發表于 2022-1-7 10:13 | 只看該作者
除法是不是浮點運算跟你定義的變量類型有關系的,如果是定義浮點數才是浮點運算~~~
回復

使用道具 舉報

地板
ID:343102 發表于 2022-1-7 10:39 | 只看該作者
城夫子 發表于 2022-1-7 09:37
看變量類型,整型變量除法的就是整型

謝謝回復。
不過,有關說明指出,不支持浮點運算的單片機可以用軟件模擬運算,但是如果運算中被中斷打斷,是無法恢復的,這樣連結果都無法得到,就不用說結果取整了。
回復

使用道具 舉報

5#
ID:343102 發表于 2022-1-7 10:41 | 只看該作者
wuwei520 發表于 2022-1-7 10:13
除法是不是浮點運算跟你定義的變量類型有關系的,如果是定義浮點數才是浮點運算~~~

你說的是運算結果還是運算過程?
回復

使用道具 舉報

6#
ID:624769 發表于 2022-1-7 11:12 來自手機 | 只看該作者
你要先明白什么叫浮點運算,如果你單片機沒有硬件浮點運算器,是無法進行浮點遠算的。所謂的模擬浮點運算,也不是浮點運算,而是用整形運算,來幫你算出用浮點運算才能得到的結果。
回復

使用道具 舉報

7#
ID:57657 發表于 2022-1-7 11:54 | 只看該作者
模擬一次浮點運算需要幾百上千條指令,中斷觸發后會將一些運算有關的寄存器push進去,返回后再全部pop出來繼續運算。
回復

使用道具 舉報

8#
ID:879348 發表于 2022-1-7 11:59 | 只看該作者
你沒搞明白是怎么回事,影響是中斷在變量運算半途進入中斷又改變了你運算的變量,要軟件處理,比如運算結束前禁止中斷或者運算的變量不要用中斷的變量,而是重新賦值新變量去運算
回復

使用道具 舉報

9#
ID:401564 發表于 2022-1-7 12:51 | 只看該作者
看單片機說明,中斷會干擾浮點運算。問題來了,你是在哪里看到這個說明的?
在中斷中用大量浮點運算會干擾中斷才是的,所以,不要在中斷中使用大量浮點運算
你說反了
回復

使用道具 舉報

10#
ID:343102 發表于 2022-1-7 14:03 | 只看該作者
wufa1986 發表于 2022-1-7 11:59
你沒搞明白是怎么回事,影響是中斷在變量運算半途進入中斷又改變了你運算的變量,要軟件處理,比如運算結束 ...

看來只有這位朋友知道我說的是什么。
不過,有些時候是不允許停止中斷的,例如使用外中斷計數。
最好能知道軟件除法的代碼,待我上網搜搜看。
回復

使用道具 舉報

11#
ID:1000530 發表于 2022-1-7 14:07 | 只看該作者
能用除法,一般沒什么問題,肯定是哪里耦合,而不是除法耦合,除法的運算時間比較長也是存在的事實
回復

使用道具 舉報

12#
ID:962286 發表于 2022-1-7 14:20 | 只看該作者
目前應該沒有單片機的中斷會干擾浮點運算,因為進中斷和出中斷都有對應的現場保護和現場恢復。相反,如果浮點運算是在中斷服務函數里邊運算的話,浮點運算是會影響中斷的時序。
而像樓主說的顯示,比如數碼管,LCD,OLED等等等顯示一些數據,絕大部分環境都可以不用浮點數,以免給CPU增加不必要的負擔!比如數碼管顯示37.8,可以用378來代替,自己軟件上記住數據被放大10倍就可以了。
回復

使用道具 舉報

13#
ID:845170 發表于 2022-1-7 15:27 | 只看該作者
除法是不是浮點運算跟你定義的變量類型有關系的,需要是定義浮點數才是浮點運算
回復

使用道具 舉報

14#
ID:57657 發表于 2022-1-7 15:43 | 只看該作者
如果堆棧出現了問題,別說干擾浮點計算,PC指針都能彈飛。
回復

使用道具 舉報

15#
ID:343102 發表于 2022-1-7 20:58 | 只看該作者
MCU_FANS 發表于 2022-1-7 14:20
目前應該沒有單片機的中斷會干擾浮點運算,因為進中斷和出中斷都有對應的現場保護和現場恢復。相反,如果浮 ...

有的教程明確指出,單片機浮點運算以及不可再入函數可能會被中斷打斷終止,產生不可預料結果,一般不提倡使用浮點運算。特別指出使用sin()前必須關閉中斷。
至于中斷程序,不要說非常耗時的浮點運算,就是整數運算也必須盡量減少。倒不是影響中斷,而是無法得到正確結果。
回復

使用道具 舉報

16#
ID:343102 發表于 2022-1-7 21:06 | 只看該作者
謝謝各位積極發言。
經過查找發現,兩整數模擬除法運算并不產生小數,而是產生整數的商和余數,不是浮點運算。但是模擬除法運算非常耗時,提倡盡量少用。
回復

使用道具 舉報

17#
ID:624769 發表于 2022-1-7 21:15 | 只看該作者
風158 發表于 2022-1-7 20:58
有的教程明確指出,單片機浮點運算以及不可再入函數可能會被中斷打斷終止,產生不可預料結果,一般不提倡 ...

你 C 語言編程,還真編不出 不可再入函數來……

也許是我C語言太渣吧,反正,我C語言寫的代碼,編譯后察看M51文件,所有函數都是以?開頭的可再入函數,要想編一個不可再入函數,不得不通過匯編去寫。
你如果有辦法在 C 語言環境下編出不可再入函數,麻煩指點一二,真的想學。
回復

使用道具 舉報

18#
ID:883242 發表于 2022-1-7 22:49 | 只看該作者
風158 發表于 2022-1-7 20:58
有的教程明確指出,單片機浮點運算以及不可再入函數可能會被中斷打斷終止,產生不可預料結果,一般不提倡 ...

你看到的教程的說法全都是錯誤的。
回復

使用道具 舉報

19#
ID:883242 發表于 2022-1-7 22:52 | 只看該作者
188610329 發表于 2022-1-7 21:15
你 C 語言編程,還真編不出 不可再入函數來……

也許是我C語言太渣吧,反正,我C語言寫的代碼,編譯后 ...

在標準c語言里面,函數局部變量是在堆棧上臨時分配的,這種函數可遞歸,可再入。但是對于8位單片機來說,這種做法消耗太大,尤其是RAM空前緊張的8051體系,所以編譯器用了非正規的快速簡潔的實現方法,分析函數間調用層級,給局部變量分配一個固定的地址,比如25H吧,這種函數就是不遞歸的,一旦發生了重入,被打斷的函數的局部變量被重進函數給徹底破壞了。
回復

使用道具 舉報

20#
ID:343102 發表于 2022-1-8 00:50 | 只看該作者
好吧,我看到的教程可能是錯誤的,但是我編的程序會遵守這個教程的。另外把我看到的教程貼出來,有興趣的朋友繼續研究吧。

無標題.png (127.09 KB, 下載次數: 56)

無標題.png
回復

使用道具 舉報

21#
ID:883242 發表于 2022-1-8 01:11 | 只看該作者
風158 發表于 2022-1-8 00:50
好吧,我看到的教程可能是錯誤的,但是我編的程序會遵守這個教程的。另外把我看到的教程貼出來,有興趣的朋 ...

你在15樓發言中只有不可再入部分是對的,但是C51會給出錯誤信息,無法通過編譯,所以即使這個知識點是對的也是毫無價值的。

其他知識點完全錯誤。
回復

使用道具 舉報

22#
ID:526543 發表于 2022-1-8 15:01 | 只看該作者
看你自己定義的數據類型  而且中斷不干擾吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产三级国产aⅴ入口 | 日本h片在线观看 | 国产精品99久久久久久www | 欧美精品一区二区在线观看 | 久久久久国产一级毛片 | 久久久精品亚洲 | 国产丝袜一区二区三区免费视频 | 亚洲综合久久网 | 国产www成人 | 久久久久亚洲精品 | 激情91| 91久久精品国产91久久性色tv | 91热在线| 久久国产精品久久久久久 | 一区二区三区在线 | 欧 | 国产在线视频一区 | 久久久久国产精品一区三寸 | 久久国产精品无码网站 | 久久精品视频免费看 | 亚洲美女在线视频 | 国产欧美一区二区三区久久人妖 | 国产精品视频一区二区三区不卡 | 国产乱码精品一区二区三区五月婷 | 国产免费一区二区三区免费视频 | 欧美日韩视频在线播放 | 中文字幕一区二区三区乱码在线 | 国产婷婷在线视频 | 欧美日韩不卡 | 久久综合成人精品亚洲另类欧美 | 欧美三区| 亚洲五码在线 | 日日夜夜免费精品视频 | 91久久精品一区二区二区 | 精品欧美一区二区三区久久久 | 亚洲精品一 | 欧美日韩久久 | 国产精品污www一区二区三区 | 亚洲成av片人久久久 | 日韩成年人视频在线 | 国产精品精品久久久 | 亚洲欧美在线一区 |