找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8935|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

能不能在單片機(jī)定時(shí)器中斷函數(shù)中加延時(shí)函數(shù)?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:822669 發(fā)表于 2020-9-24 14:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
能不能在單片機(jī)定時(shí)器中斷函數(shù)中加延時(shí)函數(shù)?如果加了延時(shí)會(huì)造成什么效果呢,到底是定時(shí)器優(yōu)先級(jí)高還是延時(shí)函數(shù)優(yōu)先級(jí)高呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:332444 發(fā)表于 2020-9-24 16:23 | 只看該作者
通常是指循環(huán)延時(shí),如果延時(shí)函數(shù)在中斷中調(diào)用則優(yōu)先級(jí)同中斷。中斷當(dāng)然可以調(diào)用延時(shí),也可以直接把循環(huán)延時(shí)寫在中斷中,只是畫蛇添足的做法而已,通常學(xué)到一定階段就不會(huì)這樣寫和調(diào)用了,因?yàn)橹袛嗑褪怯虚g隔的直接可當(dāng)延時(shí)用。
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2020-9-24 16:33 | 只看該作者
在單片機(jī)定時(shí)器中斷函數(shù)中加延時(shí)函數(shù)沒有邏輯問題。一個(gè)成熟的代碼不會(huì)在定時(shí)器中斷函數(shù)中加延時(shí)函數(shù),除非是必不可少的幾u(yù)s的延時(shí)。中斷函數(shù)是打斷主函數(shù)運(yùn)行的需要及時(shí)處理的事件,占時(shí)盡可能短。插入較長(zhǎng)延時(shí)會(huì)影響系統(tǒng)運(yùn)行效率,甚至破壞其它外設(shè)的運(yùn)行。優(yōu)先級(jí)只是針對(duì)CPU響應(yīng)各種中斷函數(shù)的排序,與延時(shí)函數(shù)無關(guān)。
回復(fù)

使用道具 舉報(bào)

地板
ID:382454 發(fā)表于 2020-9-24 16:48 | 只看該作者
可是可以,但中斷里放延時(shí)函數(shù)是水貨的做法。
回復(fù)

使用道具 舉報(bào)

5#
ID:155507 發(fā)表于 2020-9-24 22:33 | 只看該作者
通常在中斷子程序中是不調(diào)用延時(shí)子程序的,這樣會(huì)增加中斷處理時(shí)間,如果有其它低級(jí)中斷了,就會(huì)延誤響應(yīng)中斷了。
回復(fù)

使用道具 舉報(bào)

6#
ID:420836 發(fā)表于 2020-9-25 08:11 | 只看該作者
最好不要在中斷例程中使用延遲
回復(fù)

使用道具 舉報(bào)

7#
ID:347452 發(fā)表于 2020-9-25 08:26 | 只看該作者
當(dāng)然可以使用啊,有優(yōu)先級(jí)的,高級(jí)別的中斷 打斷低級(jí)別的中斷
回復(fù)

使用道具 舉報(bào)

8#
ID:822755 發(fā)表于 2020-9-25 10:35 | 只看該作者
中斷是用來快速響應(yīng)事件的。加了延時(shí),會(huì)影響其他更低優(yōu)先級(jí)的中斷響應(yīng),當(dāng)然不能加了。可以做標(biāo)志,然后在主循環(huán)中延時(shí)處理。
回復(fù)

使用道具 舉報(bào)

9#
ID:823237 發(fā)表于 2020-9-25 17:39 | 只看該作者
中斷里面放延遲會(huì)影響處理速度,影響優(yōu)先級(jí)
回復(fù)

使用道具 舉報(bào)

10#
ID:207421 發(fā)表于 2020-9-26 23:42 | 只看該作者
可以,例如定時(shí)器延時(shí)50MS,定時(shí)器中斷那來一個(gè)delayms(2)函數(shù),延時(shí)2毫秒是沒問題的,只要控制在50MS之下勉強(qiáng)可以,但是還是不建議這樣干,并不專業(yè),不推薦
回復(fù)

使用道具 舉報(bào)

11#
ID:106821 發(fā)表于 2020-9-29 15:16 | 只看該作者
一般不建議
回復(fù)

使用道具 舉報(bào)

12#
ID:57657 發(fā)表于 2021-11-27 19:23 | 只看該作者
如果定時(shí)器中斷內(nèi)程序執(zhí)行的時(shí)間,超過了定時(shí)器設(shè)定的時(shí)間。
中斷不會(huì)被自己打斷,而是定時(shí)器溢出后TF0會(huì)被硬件置1,中斷返回后會(huì)再次進(jìn)入該中斷(硬件清0),導(dǎo)致定時(shí)器時(shí)間紊亂,main函數(shù)無法正常執(zhí)行,如遇此情況請(qǐng)更換高性能1T單片機(jī)、優(yōu)化代碼、提高晶振頻率。
回復(fù)

使用道具 舉報(bào)

13#
ID:985437 發(fā)表于 2021-11-27 21:04 | 只看該作者
再?zèng)]有使用操作系統(tǒng)的情況下可以,但是不好,一般中斷函數(shù)要盡量短小,精簡(jiǎn)
回復(fù)

使用道具 舉報(bào)

14#
ID:517951 發(fā)表于 2021-11-29 09:50 | 只看該作者
中斷的目的就是為了單片機(jī)快捷高效處理事務(wù),如果加入延時(shí), 是與這個(gè)初衷相悖的。
回復(fù)

使用道具 舉報(bào)

15#
ID:983456 發(fā)表于 2021-11-29 10:18 來自手機(jī) | 只看該作者
最好別用
回復(fù)

使用道具 舉報(bào)

16#
ID:883242 發(fā)表于 2021-11-29 23:51 | 只看該作者
μs級(jí)別的延遲,如果確有必要,可以加,雖然不建議。

ms級(jí)別的延遲,定時(shí)器中斷不夠你用的嗎?加上去顯得太蠢了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表